javascript - 在对切换道具做出反应时需要对 getDerivedStateFromProps 进行一些澄清
问题描述
在下面的情况下,如果启用了某些模式,我需要更新状态,无条件地将 props.isScaffoldingMode 复制到状态是否有任何性能影响?
我想知道,是否应该在这种情况下使用 didUpdate 或仅在道具更改时才复制道具。
我不确定 getDerivedStateFromProps 是否会导致完全重新渲染,就像在这种情况下在 didUpdate 中设置状态一样。
感谢您的时间。
static getDerivedStateFromProps(nextProps, prevState) {
let newState = { prevIsScaffoldingMode: nextProps.isScaffoldingMode };
if (nextProps.isScaffoldingMode && !prevState.prevIsScaffoldingMode) {
const scaffoldingState = StandardItemComponent.prepareScaffoldingMode(nextProps);
newState = { ...newState, ...scaffoldingState };
}
return newState;
}
解决方案
推荐阅读
- numeric - cor(x, use = use) 中的错误:同时提供“x”和“y”或类似矩阵的“x”
- java - 我无法使用现场定位器向收件人发送电子邮件
- java - 使用 Mockito thenCallRealMethod 时出现 NullPointerException
- sass - 保存部分文件时自动触发 PrePros
- javascript - 添加图标和自定义工具提示 - y 轴 - chartjs
- activejdbc - 在 ActiveJDBC 中如何更新组合键字段之一的值?
- sql - SQL 分组按周和月在同一时间 (Redshift)
- powershell - 字符串变量位置在写入主机中被覆盖
- javascript - 选中列表复选框中的至少 1 个复选框时显示按钮
- sql - 如何填补 Access 表中的每日日期空白?