ReactJS React-Router将道具传递给孩子

时间:2018-01-14 20:40:48

标签: reactjs react-router-v4

我有这个私有路由器,但我正在努力从我的应用程序组件的状态传递道具。有人可以解释如何传递用户对象吗?

<Route
  {...rest}
  render={(props) => authed === true
    ? <Component {...props} />
    : <Redirect to={{pathname: '/login', state: {from: props.location}}} />}
/>


export default class App extends Component {
state = {
authed: false,
loading: true,
user: false
}

1 个答案:

答案 0 :(得分:1)

如果此路线位于App渲染方法内,那么您可以这样做:

<Route
  {...rest}
  render={(props) => this.state.authed === true
    ? <Component {...props} user={this.state.user} />
    : <Redirect to={{pathname: '/login', state: {from: props.location}}} />}
/>

您的组件将获得您在App组件状态中维护的react-router道具(历史记录,匹配​​,位置)和用户。