使用router过程中在子组件想进行路由跳转,使用this.props.history报错,进一步调试发现this.props为undefined,查阅文档得知
没办法通过 this.props.children 取得当前组件的子元素。 因为this.props.children 返回的是组件拥有者传递给你的 passed onto you 子节点。
解决方法:(withRouter)
使用withRouter包裹当前组件

然后就可以跳转了!
在React应用中,当尝试从子组件内部进行路由跳转时,直接使用`this.props.history`可能会导致报错,因为此时`this.props`可能未定义。解决这个问题的方法是通过高阶组件`withRouter`来包裹子组件,以确保组件能访问到路由相关的方法。这样做之后,子组件便可以正常进行路由跳转了。
没办法通过 this.props.children 取得当前组件的子元素。 因为this.props.children 返回的是组件拥有者传递给你的 passed onto you 子节点。
使用withRouter包裹当前组件

然后就可以跳转了!

被折叠的 条评论
为什么被折叠?