React - setState将数据传递给更新程序名称

时间:2017-08-10 23:58:05

标签: function reactjs state

有一种方法可以在setState中传递更新程序的名称吗?

enter image description here

我想更新一个州,我不想为每个重生的data.value创建一个函数

所以这段代码:

methodSelected = (event, data) => {
    data.checked
        ? this.setState(() => {
              return { data.value: true };
            })
        : this.setState(() => {
              return { data.value: false };
            });
};

可能是这样的:

methodSelected = (event, data) => {
    data.checked
        ? this.setState(() => {
              return { email: true };     <<<<<< email it's data.value
            })
        : this.setState(() => {
              return { email: false };   <<<<<< email it's data.value
            });
};

可以使用setState,还是有另一个函数可以做反应,我可以做到吗?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望将键作为变量传递给对象:

methodSelected = (event, data) => {
    data.checked
        ? this.setState({[data.value] : true})
        : this.setState({{[data.value] : false}});
};

methodSelected = (event, data) => {       
    this.setState({[data.value] : data.checked})
};