reactjs - 当 url 查询参数相对于浏览器点击发生变化时,不会调用 React 16、React-Router、生命周期方法
问题描述
为了在浏览器刷新时保持状态变化,我用状态变量更新了 URL 参数。但问题是在 React 16 中,当单击浏览器后退或前进按钮时,没有调用任何生命周期方法。URL 将被更新,但不会调用生命周期方法调用。解决此问题的一种方法是将 URL Query Parameter 设置为每个 Route 的 prop。但这会在我们切换应用程序/浏览器选项卡时调用生命周期方法。
有没有更好的方法来解决这个问题。
解决方案
React 为您提供了所需的基本生命周期方法,我们必须弄清楚如何最好地使用它。在您的场景中,您可以做的是。只需使用componentDidUpdate
生命周期钩子并检查 URL 是否包含您传递的变量,如果它们存在则意味着页面已刷新。
您可以params
通过使用库的history
对象或特定params
对象来获取react-router
。
推荐阅读
- prometheus - Grafana:在统计面板的标题字段中使用实例标签
- javascript - 在另一个里面访问 jest.fn 函数
- java - Java lambda 表达式最佳实践
- tensorflow - 我有一个 NVIDIA Quadro 2000 显卡,我想安装 TensorFlow。它会起作用吗?
- node.js - Git/node 卡在旧的 .js 文件版本上
- python - 通过 APSCHEDULER 在 python 中安排一个 cron 作业以每次在 1 和 31 分钟运行一个 python 脚本
- sql - 需要在oracle sql中获取上一财年数据
- python - 如何在 Pandas DataFrame 中找到包含某个字符的单元格并从该单元格返回值?
- c++ - 带有前向声明的 std::variant
- windows - 远程运行windows命令