繁体   English   中英

'this.props.history.push()' 适用于普通页面但不适用于嵌套组件?

[英]The 'this.props.history.push()' is working for normal page but not working for nested components?

我有名为 Addmember.js 的 reactjs 页面,我可以在其中添加人员。 我有一个下一步按钮,它将通过以下代码将我带到仪表板

 this.props.history.push('/dashboard')

但是真正的问题出现了,当我在新页面中使用添加成员组件时,当我单击下一步时,它显示以下错误

无法读取未定义的属性“推送”

帮助将不胜感激!

尝试从“react-router-dom”导入withRouter

然后在 withRouter 中传递组件

例如。

export default withRouter(Addmember);

问题是因为您的组件在嵌套时找不到历史道具。 目前 react-router-dom 更新到版本 5,所以你可以使用他们的钩子。

要解决给定的问题,您应该像import {useHistory} from 'react-router-dom'一样导入 useHistory 钩子

然后像const history = useHistory()一样在 AddMember 中使用它。 然后,您可以在需要的地方使用历史记录中的所有方法。 我想它会对你有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM