我正在尝试通过React Router Link组件传递道具,但是状态仍然不确定,有人知道为什么吗?
路线:
<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;
答案 0 :(得分:3)
您必须用withRouter将电影组件包装起来;
您可以通过withRouter高阶组件访问历史对象的属性和最接近的Route匹配项。每当呈现时,withRouter都会将更新的匹配项,位置和历史道具传递给包装的组件。
export default withRouter(Movie);