【发布时间】:2018-03-13 12:30:47
【问题描述】:
我有一个这样的对象:
layers = {a: false, b: false, c: false, d: false, e: false};
setLayer = (val) => {
// set val to true and every other to false
}
我将在 onClick 事件上调用 setLayer 函数。像这样:
<a onClick={this.setLayer('c')}>hello</a>
// this will set layers like this: {a: false, b: false, c: true, d:
false, e: false}
<a onClick={this.setLayer('b')}>hello world</a>
// this will set layers like this: {a: false, b: true, c: false, d:
false, e: false}
我不想使用 for 循环并检查 obj 中的每个键。因为 obj 在我的代码中添加了越来越多的对象。
【问题讨论】:
-
您必须使用某种循环。无论是
for、for in,还是下面答案中已经提到的任何一个。如果你不想要一个循环,那么你应该只保留一个变量,如layerSet = 'b',它会在点击时更新为正确的值,然后在你的逻辑中稍后检查这个变量。
标签: javascript reactjs object