Reactjs 当url查询参数相对于浏览器单击发生更改时,不会调用React 16、React Router、lifecycle方法

Reactjs 当url查询参数相对于浏览器单击发生更改时,不会调用React 16、React Router、lifecycle方法,reactjs,react-router,back-button,url-parameters,Reactjs,React Router,Back Button,Url Parameters,为了在浏览器刷新时保持状态更改处于活动状态,我使用状态变量更新URL参数。但问题在于,当单击浏览器后退或前进按钮时,没有一个生命周期方法被调用。URL将被更新,但不会调用生命周期方法调用。解决此问题的一种方法是将URL查询参数设置为每个路由的属性。但当我们切换应用程序/浏览器选项卡时,这将调用生命周期方法 有没有更好的方法来解决这个问题。React为您提供了所需的基本生命周期方法,我们必须找出如何最好地使用它。在你的场景中,你能做的是。只需使用componentdiddupdate生命周期挂钩,

为了在浏览器刷新时保持状态更改处于活动状态,我使用状态变量更新URL参数。但问题在于,当单击浏览器后退或前进按钮时,没有一个生命周期方法被调用。URL将被更新,但不会调用生命周期方法调用。解决此问题的一种方法是将URL查询参数设置为每个路由的属性。但当我们切换应用程序/浏览器选项卡时,这将调用生命周期方法


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

React为您提供了所需的基本生命周期方法,我们必须找出如何最好地使用它。在你的场景中,你能做的是。只需使用
componentdiddupdate
生命周期挂钩,检查URL是否包含您传递的变量,如果它们存在,则表示页面已刷新


您可以使用
history
对象或
react router
库的
params
对象来获取
params

在正常情况下工作。但在浏览器中单击“后退”和“前进”按钮时,不会调用这些生命周期方法。如果路由正在更改,将调用生命周期方法。不是URL参数更改。这是因为您没有传递组件呈现所需的参数。如果您可以共享代码片段并更新问题,我可以帮助您。当浏览器返回按钮单击时,url参数将更改。但不会触发生命周期方法。我将分享代码。