gpt4 book ai didi

reactjs - 每次路由更改时,componentDidUpdate 都会调用两次

转载 作者:行者123 更新时间:2023-12-03 13:35:47 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个 HomePage其中有导航链接的组件。该组件的路由是<Route to="/browse/:item" exact component={HomePage} /> 。因此该组件有一个导航栏,其中包含指向其“子路线”的 NavLink 链接。例如,导航链接可引导您访问 /browse/featured或者 /browse/new我向该组件添加了生命周期方法 componentDidUpdate()到只是console.log("UPDATED HOMEPAGE")每当我单击 NavLink 时,就会发生这种情况:

我尝试使用shouldComponentUpdatenextPropsnextState params 来查看状态或 Prop 是否确实发生了变化(这将导致重新渲染),但它们保持不变。预先感谢您的帮助。

编辑:代码在github https://github.com/idanlo/spotify-test-frontend我见过的有问题的组件是 AlbumViewHomePage

另一个编辑: updates这是console.log()发生的两次更新,每一次都显示更新之前和之后的 Prop 。在第一次更新时,您可以看到 url 不同,因此应该进行更新,但在第二次更新时没有任何不同,一切都相同(在状态下一切也都相同)

最佳答案

由于状态发生更改,通常会出现多次调用。检查其他文件以确保最初没有调用修改状态的操作。即使您检查 nextProps 的差异,更改的变量也可能不在 props 中。

关于reactjs - 每次路由更改时,componentDidUpdate 都会调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51458441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com