通过React Router Link组件传递状态时,为什么状态未定义?

时间:2019-07-02 09:55:52

标签: javascript reactjs

我正在尝试通过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;

1 个答案:

答案 0 :(得分:3)

您必须用withRouter电影组件包装起来;

  

您可以通过withRouter高阶组件访问历史对象的属性和最接近的Route匹配项。每当呈现时,withRouter都会将更新的匹配项,位置和历史道具传递给包装的组件。

export default withRouter(Movie);