React 16,React-Router,当URL查询参数相对于浏览器点击发生更改时,不会调用生命周期方法

问题描述 投票:0回答:1

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

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

reactjs react-router back-button url-parameters
1个回答
0
投票

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

您可以使用params库的history对象或特定的params对象获得react-router

© www.soinside.com 2019 - 2024. All rights reserved.