我想在v3中按状态将动态道具传递给组件。但它没有用。
当我使用下面的代码时,它显示警告“[react-router]你无法改变;它将被忽略”。然后在组件中,它始终显示this.props.userId为空。
class Root extends React.Component{
constructor(props) {
super(props);
this.state = {
userId: null,
}
}
componentDidMount() {
this.setState({
userId: "123",
})
}
render() {
return (
<Router history={browserHistory}>
<Route path="/TeachingResourceManagement">
<IndexRoute component={(props) => (<Login {...props} onChange={this.handleUserIdChange.bind(this)} userId={this.state.userId} />)}/>
</Route>
</Router>
)}
}
render(<Root />, document.getElementById("container"))
P.S。 我曾尝试使用下面的代码(使用渲染来传递道具),但它也无法正常工作,甚至无法正常渲染场景。
<Router history={browserHistory}>
<Route path="/TeachingResourceManagement">
<IndexRoute render={(props) => (<Login {...props} onChange={this.handleUserIdChange.bind(this)} userId={this.state.userId} />)}/>
</Route>
</Router>