Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 将路由器dom恢复到以前的状态_Javascript_Reactjs_React Router_React Router Dom - Fatal编程技术网

Javascript 将路由器dom恢复到以前的状态

Javascript 将路由器dom恢复到以前的状态,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我有一个带有react router dom的应用程序,并使用BrowserRouter组件。在这个应用程序中,我有一个route/query builder,它将通过从表等中选取值来构建一个查询字符串。一旦用户构建了查询字符串,他们就可以通过useHistory()钩子从react router dom和history.push(“/search?q=${queryString}”)导航到 我想知道的是,是否可以通过浏览器后退按钮导航回/query builder路线,并查看页面,就像我导航到

我有一个带有
react router dom
的应用程序,并使用
BrowserRouter
组件。在这个应用程序中,我有一个route
/query builder
,它将通过从表等中选取值来构建一个查询字符串。一旦用户构建了查询字符串,他们就可以通过
useHistory()
钩子从
react router dom
history.push(“/search?q=${queryString}”)导航到

我想知道的是,是否可以通过浏览器后退按钮导航回
/query builder
路线,并查看页面,就像我导航到
/search
之前一样,以便用户可以修改查询。我现在看到的是,查询生成器组件将返回其初始状态,因为它将再次装载


我可以使用redux来管理查询生成器状态并从中重新水化组件,但我想知道我是否缺少
react router
/
react router dom
包中的可用内容?

看起来useContext是解决问题的最佳变体。将变量保存在query builder中,这样您就可以轻松返回而不受任何惊吓)而且它在历史记录中都能正常工作。goBack()和browser back

从浏览器中使用“后退”按钮很重要,还是您可以创建自定义按钮?是的,因为“应用内”后退按钮将在历史记录中导航返回OK,因此,与使用redux的想法相同,国家需要提升到一个更“全球”的水平