reactjs - 在 React 的 getDerivedStateFromProps 中有多个条件
问题描述
在我的 React 应用程序中,我有以下代码。
state = {
credentialDeletion: false,
accountDeletion: false
}
static getDerivedStateFromProps(nextProps) {
if (nextProps.accountDeleting) {
return {
accountDeletion: true
}
}
if (nextProps.credentialDeletion) {
return {
credentialDeletion: true
}
}
return null;
}
但是这段代码不能正常工作。如果我删除一个条件,那么另一个可以正常工作。但加在一起,只有第一个条件有效。我应该如何正确编写此代码?
解决方案
您可以创建一个对象,在每个 if 语句中添加属性并将其返回,以便运行两个 if 语句。
static getDerivedStateFromProps(nextProps) {
const update = {};
if (nextProps.accountDeleting) {
update.accountDeletion = true;
}
if (nextProps.credentialDeletion) {
update.credentialDeletion = true;
}
return update;
}
推荐阅读
- angular - patchValue with { emitEvent: false, onlySelf: true } 触发 Angular 中的 valueChanges
- flutter - 如何更改导航抽屉的工具栏颜色
- sql - 要搜索的数千个值
- r - R 包源文件
- android-studio - 哪个版本的opencv适合android studio 4.0.0?
- r - eval 中的错误(predvars、data、env):找不到对象“V1”
- python-3.x - 如果匹配条件,如何使用 python 更改 .xlsx 单元格的颜色,如果不保留旧颜色
- angular - 在实时数据库中保存非常大的字符串 - 最佳实践?
- python - 如何从 URL 获取 python 函数返回值?
- python - 用字符串枚举列表会给出错误的结果