setState多个变量的三进制

时间:2018-08-30 14:27:33

标签: reactjs typescript

Setstate的十进制运算符

是否可以这样做?例如,我想将一个包含正确状态的变量设置为setState。

 interface state {
    isfiltered: array<boolean>
 }

   this.setState({
        isFiltered: isFilteredCopy,
    });
}

我要根据要发送到的函数的状态Array是否对应来选择isFiltered还是languageFilter。

是否也可以进行多个条件三元运算?

像一般情况下,我有4种选择一样?

包含所有布尔值的状态是布尔数组

如果是,我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果您尝试过类似的操作:

myMethod(myCondition: boolean, isFilteredCopy: boolean[]) {
    const prop = myCondition ? "isFiltered" : "languagesFilter";
    this.setState({[prop]: isFilteredCopy});
}

您将必须使用类型断言:

myMethod(myCondition: boolean, isFilteredCopy: boolean[]) {
    const prop = myCondition ? "isFiltered" : "languagesFilter";
    this.setState({[prop]: isFilteredCopy} as any);
}

这里是the open issue