我试图通过反应路由器链接组件传递道具,但状态仍然未定义,有没有人知道为什么?
路由:
<Route path="/movie" component={Movie} render={props =>
<Movie {...props} />} />
链接:
<Link to={{ pathname: '/movie', state: { fromMovieList: true}}} >
Title </Link>
从路径“/movie”呈现的组件
class Movie extends React.Component {
render () {
console.log(this.props.location.state); // undefined
return (
<div> Hello </div>
)
}
}
export default Movie;
您必须用withorter包装Movie组件;
您可以通过WiThorter高阶组件访问历史记录对象的属性和最近的路由匹配。WiThorter会将更新的匹配、位置和历史道具传递给包装的组件。
export default withRouter(Movie);