当前位置:  开发笔记 > 编程语言 > 正文

React.js setState()与键内部循环的变量?

如何解决《React.jssetState()与键内部循环的变量?》经验,为你挑选了1个好方法。

有没有办法使用字符串变量的值作为setState()的键?

getInitialState: function () {
    return {
        foo: '',
        bar: ''
    }
}

someOtherHandler: function() {
    var arr = ['foo', 'bar'];
    var _this = this;
    var number = Math.random();

    for (var i in arr) {
        _this.setState({ arr[i]: number });
    }

}

React抛出上面的语法错误,将arr [i]设置为变量最终设置一个具有该变量名称的新状态.



1> Dan Prince..:

您可以在调用之前创建对象setState.

var newState = {};
newState[i] = number;
_this.setState(newState);

或者,如果您使用的是ES6,则可以使用计算属性.

_this.setState({ [i]: number });

但是这段代码会setState多次调用,只调用一次会更有效.构建更新的状态对象,然后应用它.

var newState = {};

for(var i in arr) {
  newState[i] = number;
}

this.setState(newState);

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有