首页 > 解决方案 > 当 url 查询参数相对于浏览器点击发生变化时,不会调用 React 16、React-Router、生命周期方法

问题描述

为了在浏览器刷新时保持状态变化,我用状态变量更新了 URL 参数。但问题是在 React 16 中,当单击浏览器后退或前进按钮时,没有调用任何生命周期方法。URL 将被更新,但不会调用生命周期方法调用。解决此问题的一种方法是将 URL Query Parameter 设置为每个 Route 的 prop。但这会在我们切换应用程序/浏览器选项卡时调用生命周期方法。

有没有更好的方法来解决这个问题。

标签: reactjsreact-routerback-buttonurl-parameters

解决方案


React 为您提供了所需的基本生命周期方法,我们必须弄清楚如何最好地使用它。在您的场景中,您可以做的是。只需使用componentDidUpdate生命周期钩子并检查 URL 是否包含您传递的变量,如果它们存在则意味着页面已刷新。

您可以params通过使用库的history对象或特定params对象来获取react-router


推荐阅读