javascript - React componentDidUpdate 中,props 和 state 可以同时改变吗?

标签 javascript reactjs components

在 React 组件中,通常你不应该改变其中的 props。另外,parent 只能改变 props,不能直接改变 state。基于这两个事实,假设在 componentDidUpdate 的任何调用中是否正确,例如,

componentDidUpdate(prevProps:只读>,prevState:只读)

this.props 可能与 prevProps 不同,或者 this.state 可能与 prevState 不同,但这两种情况不能同时发生?

最佳答案

From react docs :

React may batch multiple setState() calls into a single update for performance.

因此我基于此做出的最佳猜测是,出于性能原因,React 可能会将 props 和状态更新组合在一起以仅执行一次更新而不是两次更新。所以回答你的问题:

this.props could be different from prevProps, OR this.state could be different from prevState, but both situations cannot occur at the same time?

我认为出于性能原因,它实际上可能会像之前所说的那样发生。

关于javascript - React componentDidUpdate 中,props 和 state 可以同时改变吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49840031/

相关文章:

javascript - 仅从 iso 日期时间格式获取分钟

javascript - 如何将多个 Prop 传递给 React.createElement 创建的元素?

joomla - 在菜单项类型中显示 joomla 组件

reactjs - Storybook 使用 Docs 插件和 .mdx 文件抛出没有标题的意外默认导出

javascript - 使用 React.js 时未定义 Web Speech API SpeechRecognition

php - 如何在没有类的情况下通过 artisan 命令制作组件?

c# - .Net Powerpoint 组件

javascript - svg viewbox 不应该调整文本 fontSize 的大小?

javascript - 如果浏览器在后台,FCM 推送通知会到达两次

javascript - ng-click 上的调用函数(cellTemplate)