如何检测和响应路由更改



我有一个多页表单,它依赖于几条数据。

const formQueryWrapper = ({...routerProps}) => {
  return (
    <Query> <MultiPageForm {queryProps}/> </Query>
  )
}
export default withRouter(formQueryWrapper)

当表单成功完成时,我可以通过重定向可靠地传递一些状态formCompleted: true并执行我想做的事情。

但我现在面临的问题是;如果表格没有成功完成,我也想做出反应。

我试图在ComponentWillUnmount()中进行一些检查,但是每当侧边栏导航动画发生时,整个页面都会不断重新渲染。

我试图做history.listen((location, action) => {...})似乎可行,但可能有点混乱

有没有其他方法可以在没有历史的情况下解决这个问题?反应路由器监听有什么遗漏吗?

如果您希望在其他

页面中共享逻辑,则需要使用状态管理。尝试使用 Redux。

最新更新