繁体   English   中英

如何将浏览器历史记录与组件一起使用?

[英]How to use browser history with components?

假设我有以下代码:

const [showChild1, setShowChild1] = useState(false)
const [showChild2, setShowChild2] = useState(false)

        <ParentComponent>
          {showChild1 && <Child1 />}
          {showChild1 && <Child2 />}
           ....
      </ParentComponent

假设我正在浏览器中查看Child2 ,但我想返回 go 以查看Child1 如何使用浏览器的后退和前进按钮在有条件呈现的组件之间导航? 截至目前,当我点击后退按钮时,我被推到了路径/

可以在全局window object 添加事件监听,事件名称为“popstate”,代码示例如下:

  useEffect(() => {
    window.history.pushState(null, null, window.location.pathname);
    window.addEventListener('popstate', yourEvent);
    return () => {
      window.removeEventListener('popstate', yourEvent);  
    };
  }, []);

使用 onpopstate 事件来处理浏览器导航选项。

暂无
暂无

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

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