javascript - 组件中缺少历史记录

标签 javascript reactjs react-router history

<分区>

我刚才观察到我的一些组件有历史,而有些没有。 我的组件是 comp1, comp2, comp3

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

comp1
|____comp2
     |_____comp3

假设所有组件都是有状态的。并且通过路由访问 comp1

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

Q. Can any one throw some light here on this fact?

Q. Can we access history on remaining components?

最佳答案

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);

关于javascript - 组件中缺少历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601553/

相关文章:

javascript - 滚动时更改导航栏颜色

javascript - 通过js把li类改成链接

javascript - React 私有(private)路由不渲染登录组件

css - .css 未加载,因为其 MIME 类型 “text/html” 不是 “text/css” 。和 SyntaxError : expected expression, 得到 '<'

javascript - Passport 认证唯一 session ID概念

javascript - 我如何将菜单放在 Bootstrap 面板的左侧?

javascript - 如何在 ReactJS 的嵌套组件中切换类

node.js - 是否可以在前端发生更改时运行nodemon来重新启动服务器?

android - react native 获取请求非常慢的android

reactjs - 如何在 React 应用程序中渲染 React 应用程序(嵌套 React 应用程序)