Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测路线变化并作出反应?_Javascript_Reactjs_React Router_React Apollo - Fatal编程技术网

Javascript 如何检测路线变化并作出反应?

Javascript 如何检测路线变化并作出反应?,javascript,reactjs,react-router,react-apollo,Javascript,Reactjs,React Router,React Apollo,我有一个多页表单,它依赖于一些数据 const formQueryWrapper = ({...routerProps}) => { return ( <Query> <MultiPageForm {queryProps}/> </Query> ) } export default withRouter(formQueryWrapper) const formQueryWrapper=({…routerProps})=>{ 返回( )

我有一个多页表单,它依赖于一些数据

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

export default withRouter(formQueryWrapper)
const formQueryWrapper=({…routerProps})=>{
返回(
)
}
使用路由器导出默认值(FormQueryRapper)
当表单成功完成时,我可以通过重定向可靠地传递一些状态
formCompleted:true
,并完成我想做的事情

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

我试图在
ComponentWillUnmount()
中进行一些检查,但每当出现侧栏导航动画时,整个页面都会继续重新呈现

我试着做
历史记录。听着((位置,动作)=>{…})
似乎可行,但可能有点混乱

没有历史,我还有别的办法解决这个问题吗?
react router listen有什么我不知道的吗?

如果您想在其他页面中共享逻辑,您需要使用状态管理。尝试使用Redux。

如果希望在其他页面中共享逻辑,您将需要使用状态管理。尝试使用Redux