我有一个多页表单,它依赖于一些数据。
const formQueryWrapper = ({...routerProps}) => {
return (
<Query> <MultiPageForm {queryProps}/> </Query>
)
}
export default withRouter(formQueryWrapper)
当表单成功完成后,我可以通过重定向可靠地传递一些状态 formCompleted: true
并执行我想做的事情。
但我现在面临的问题是;如果表单未成功填写,我也想使用react。
我尝试在 ComponentWillUnmount()
中进行一些检查,但每当侧边栏导航动画发生时,整个页面都会重新渲染。
我尝试执行 history.listen((location, action) => {...})
似乎可行,但可能有点困惑
有没有其他方法可以在没有历史记录的情况下解决这个问题? 我在 react 路由器监听中缺少什么吗?
最佳答案
如果您希望在其他页面中共享逻辑,您将需要使用状态管理。尝试使用 Redux。
关于javascript - 如何检测路由变化并使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55538370/