我刚刚观察到我的某些组件具有历史记录,而有些则没有。
我的组件是comp1, comp2, comp3
comp1是comp2的父级,comp2是comp3的父级
comp1
|____comp2
|_____comp3
所有都是有状态的组件。对comp1
的访问是通过路由进行的。
我的观察结果表明,那些通过路由器直接连接的组件只有this.props.history
可用。
问:任何人都可以在这里阐明这一事实吗? 问:我们可以访问其余组件的历史记录吗?
答案 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);