Если вы действительно хотите создать одно приложение, я бы предложил использовать React Router. В противном случае вы могли бы просто использовать обычный Javascript:
Есть два основных способа сделать в зависимости от вашего желания вы хотите:
- Стиль
<a>
в качестве кнопки
- используйте устройство
<button>
и перенаправлять программно
Поскольку, согласно вашему вопросу, я полагаю, что вы не создаете одностраничное приложение и не используете что-то вдоль линий React router. И конкретно упоминается использование button
Ниже приведен пример кода
var Component = React.createClass({
getInitialState: function() { return {query: ''} },
queryChange: function(evt) {
this.setState({query: evt.target.value});
},
handleSearch: function() {
window.location.assign('/search/'+this.state.query+'/some-action');
},
render: function() {
return (
<div className="component-wrapper">
<input type="text" value={this.state.query} />
<button onClick={this.handleSearch()} className="button">
Search
</button>
</div>
);
}
});
Ошибки, которые я вижу по вашему сообщению
- Функция, которая использует
window.location
не правильно называется в визуализации методом
- Вы можете использовать
window.location.assign()
метод, который помогает загрузить новый документ
- Я сомневаюсь, что страницы
JSX
отображаются непосредственно в браузере при попытке напрямую их называть
Надеется, что это поможет, если нет, и вы выяснить ответ, пожалуйста, поделитесь
Вы используете 'response router' ?? –
Вы нашли решение по интересующему вас вопросу? –