组件中缺少历史记录[重复]

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 没错。它将为您提供历史对象的属性和最接近的&lt;Route&gt; 匹配 thanx.. 这是我学到的新东西.. 也感谢链接。但我为此使用了“react-router-dom”

以上是关于组件中缺少历史记录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Git-Tfs 在分支上缺少历史记录

从存储库历史记录中删除提交 [重复]

从历史记录中删除单个提交[重复]

从角度 2 中的历史记录中删除一个组件

在浏览器的后退按钮上反应路由器历史记录

浏览历史记录清除网页后注销[重复]