【发布时间】:2020-10-05 15:48:30
【问题描述】:
我们有一个简单的 react 应用程序。数据来自 api 并存储在 state 中。然后我们使用 map 函数来渲染数据。并使用排序和过滤功能来操作数据。
现在,我们正在尝试使用查询字符串将过滤器信息与 URL 相关联。因此,在共享页面 URL 时,过滤器数据也会随之传递。
我们正在使用“react-router-dom”库的链接标签更新查询字符串
<Link to='/pagePath?queryStringKey=queryStringValue'> Link Content </Link>
现在,如何监听查询字符串的变化? componentDidMount 仅在安装组件时运行一次。但是,当使用 Link 标记更改查询字符串时,componentDidMount 不会运行。如果我们从渲染函数中监听,那么它会给出这个错误。
Error: Maximum update depth exceeded.
侦听/检测查询字符串更改的正确方法是什么?
【问题讨论】:
-
我收到了这个错误。这个错误发生在无限重新渲染发生时
-
你正在使用钩子或类组件?
-
现在,使用类组件。但是,如果您知道基于函数的组件的解决方案,那么@VyasArpit 也可以完成这项工作......谢谢
标签: reactjs react-class-based-component