gpt4 book ai didi

javascript - react.js 构造函数调用了两次

转载 作者:行者123 更新时间:2023-12-01 15:30:36 24 4
gpt4 key购买 nike

我有一个帖子列表,我试图在每个帖子的构造函数或 componentDidMount 中调用一个 Action 。但不知何故,当我发送一个新的消息构造函数和 componentDidMount 函数被调用两次。

 constructor(props) {
super(props);

if (condition1) {
this.props.actions.action1();
} else if (condition2) {
this.props.actions.action2();
}
}

这些函数仅在从列表中读取帖子时调用一次。但是当我发送一条新消息时,它们会被调用两次。

我怎样才能避免这些情况。我尝试像这样使用 componendDidUpdate 函数:
componentDidUpdate(prevProps, prevState) {     
if (prevProps.post.id !== this.props.post.id) {
if (condition1) {
this.props.actions.action1();
} else if (condition2) {
this.props.actions.action2();
}
}
}

最佳答案

React 构造函数在严格模式下被调用两次。
https://stackoverflow.com/a/61443443/6014725

这不是错误,而是故意行为以确保构造函数是纯的。
https://github.com/facebook/react/issues/12856#issuecomment-613145789

通过 https://reactjs.org/docs/strict-mode.html 了解更多信息

关于javascript - react.js 构造函数调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55119377/

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