组件中缺少历史记录[重复]
Posted
技术标签:
【中文标题】组件中缺少历史记录[重复]【英文标题】:history missing in components [duplicate] 【发布时间】:2019-01-07 03:38:48 【问题描述】:我刚才观察到我的某些组件有历史记录,而有些则没有。
我的组件是comp1, comp2, comp3
comp1 是 comp2 的父级,comp2 是 comp3 的父级
comp1
|____comp2
|_____comp3
鉴于所有都是有状态的组件。而对comp1
的访问是通过路由实现的。
我的观察表明,那些通过路由器直接连接的组件只有this.props.history
可用。
问。任何人都可以在这里阐明这一事实吗?
问。我们可以访问剩余组件的历史记录吗?
【问题讨论】:
【参考方案1】:赋予Route
组件的component
属性的组件将被赋予route props。如果您希望应用程序中的某个组件也能够访问它们,您可以使用withRouter
HOC。
示例
class Component3 extends React.Component
render ()
console.log(this.props.history);
return <h3> Test </h3>;
export default withRouter(Component3);
【讨论】:
你的意思是,如果我将组件传递给 withRouter,HOC 将返回一个组件,该组件具有历史记录和一些附加的键值对 @Ladoo 没错。它将为您提供历史对象的属性和最接近的<Route>
匹配
thanx.. 这是我学到的新东西.. 也感谢链接。但我为此使用了“react-router-dom”以上是关于组件中缺少历史记录[重复]的主要内容,如果未能解决你的问题,请参考以下文章