#reactjs #react-native #react-router
#reactjs #react-собственный #react-маршрутизатор
Вопрос:
Итак, я очень новичок в React, и я пытаюсь найти наилучший возможный способ перехода на другую страницу, когда пользователь выбирает опцию. В приведенном ниже коде я написал сам select, и его состояние меняется, но мне трудно даже понять, с чего начать маршрутизацию этого выбора на новую страницу.
var Header = React.createClass({
getInitialState: function() {
return {
value: 'select'
}
},
change: function(event){
this.setState({value: event.target.value});
},
render: function(){
return(
<div>
<select id="lang" onChange={this.change} value={this.state.value}>
<option value='./Doctor.js'>Doctor</option>
<option value='./Pharma.js'>Pharmacist</option>
<option value='./Admin.js'>Admin</option>
</select>
</div>
);
}
});
export default Header
Значения в значении параметра = — это маршруты, которые я пытаюсь выяснить, как маршрутизировать. Я пробовал просто использовать a, но получил кучу ошибок. Какие-либо советы?
Ответ №1:
если вы используете react-route
, вы можете попробовать использовать this.props.history.push('/your route path')
;
и вам нужно изменить свою change
функцию
change: function(value){
this.setState({value: value});
this.props.history amp;amp; this.props.history.push(`/your route/${value}`)
},
Ответ №2:
вы можете сделать это так
import React from 'react';
import { Link } from 'react-router';
export default class List extends React.Component {
//some stuff here
render() {
return(
<ul>
<li><Link to='/doctor'>Doctor page</Link></li>
<li><Link to='/pharmacist'>Pharmacist page</Link></li>
<li><Link to='/admin'>Admin page</Link></li>
</ul>
)
}
}