每个路由更改,componentDidUpdate调用两次

Ida*_*tan 5 reactjs react-router react-redux

在我的应用程序中,我有一个HomePage包含导航链接的组件。该组件的路线为<Route to="/browse/:item" exact component={HomePage} />。因此,该组件具有一个导航栏,其中包含指向其“子路线”的NavLink链接。例如NavLink是导致你/browse/featured/browse/new和我加入到这个组件生命周期方法componentDidUpdate(),只是console.log("UPDATED HOMEPAGE")每当我点击一个NavLink发生这种情况:

我试图shouldComponentUpdatenextPropsnextState参数一起使用,以查看状态或道具是否确实发生了改变(会导致重新渲染的东西),但它们保持不变。在此先感谢您的帮助。

编辑:代码在github https://github.com/idanlo/spotify-test-frontend 组件上,这些组件我已经看到了,AlbumView并且HomePage

另一个编辑: 更新 这是console.log()发生的两个更新中的一个,每个显示更新前后的道具。在第一个更新中,您可以看到url不同,因此应该进行更新,但是在第二个更新中,没有什么不同,一切都一样(在状态下,一切也都一样)

Hun*_*Liu 5

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