提问者:小点点

为什么在通过React路由器链路组件时状态未定义?


我试图通过反应路由器链接组件传递道具,但状态仍然未定义,有没有人知道为什么?

路由:

<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个答案

匿名用户

您必须用withorter包装Movie组件;

您可以通过WiThorter高阶组件访问历史记录对象的属性和最近的路由匹配。WiThorter会将更新的匹配、位置和历史道具传递给包装的组件。

export default withRouter(Movie);