gpt4 book ai didi

javascript - React Prop 更新但 componentDidUpdate 没有触发

转载 作者:行者123 更新时间:2023-11-30 19:22:43 25 4
gpt4 key购买 nike

我遇到这样一种情况,其中带有 mapStateToProps 的容器中的 props 正在更新,组件中的 props 正在更新(只是一个字符串),组件正在重新渲染....并且 componentDidUpdate 只是没有关闭。

所以这是我的连接方法:

export default connect(
state => {
console.log("token",state.Auth.idToken);
return {
token: state.Auth.idToken,
isLoggedIn: state.Auth.idToken !== null ? true : false
}
},
{login}
)(SignIn);

正如您在此处看到的,我使用 mapStateToProps 获取 token,然后出于调试目的在渲染函数中显示此标记。

<div className="isoLoginContent">
{this.props.token}
</div>

所以这个 token 一开始是空的,然后当我使用 redux-saga 和 reducer 更新它时, token 正确显示在渲染函数中,因此组件正在重新渲染。但是 componentDidUpdate 没有触发。我没有自定义的 shouldComponentUpdate,也没有使用 PureComponent。还有什么可能导致这种情况?

最佳答案

感谢 @benirving92 的建议,组件实际上是重新挂载而不是更新,我调试并发现 history.push 试图推送到一个新的 url 但它正在重定向回登录页面,因为 token 尚未设置。我相应地调整了逻辑,现在它开始工作了。感谢您的帮助。

关于javascript - React Prop 更新但 componentDidUpdate 没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57286033/

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