组件中缺少历史记录

时间:2018-07-30 20:07:26

标签: javascript reactjs react-router history

我刚刚观察到我的某些组件具有历史记录,而有些则没有。 我的组件是comp1, comp2, comp3

comp1是comp2的父级,comp2是comp3的父级

comp1
|____comp2
     |_____comp3

所有都是有状态的组件。对comp1的访问是通过路由进行的。

我的观察结果表明,那些通过路由器直接连接的组件只有this.props.history可用。

  问:任何人都可以在这里阐明这一事实吗?

     问:我们可以访问其余组件的历史记录吗?

1 个答案:

答案 0 :(得分:1)

component组件的Route道具赋予的组件将被赋予route props。如果您希望应用程序中更深的组件也可以访问它们,则可以使用withRouter HOC。

示例

class Component3 extends React.Component {
  render () {
    console.log(this.props.history);

    return <h3> Test </h3>;
  }
}

export default withRouter(Component3);