在我的React应用程序中,我有以下代码。
state = {
credentialDeletion: false,
accountDeletion: false
}
static getDerivedStateFromProps(nextProps) {
if (nextProps.accountDeleting) {
return {
accountDeletion: true
}
}
if (nextProps.credentialDeletion) {
return {
credentialDeletion: true
}
}
return null;
}
但是此代码无法正常工作。如果我删除一个条件,则其他条件正常。但是在一起,只有第一个条件起作用。我应该如何正确编写此代码?
答案 0 :(得分:2)
您可以创建一个对象,并在每个if语句中添加属性,然后返回该对象,以便两个if语句都将运行。
static getDerivedStateFromProps(nextProps) {
const update = {};
if (nextProps.accountDeleting) {
update.accountDeletion = true;
}
if (nextProps.credentialDeletion) {
update.credentialDeletion = true;
}
return update;
}