让我们在我的组件中说我设置状态如下:
this.setState({
test: "value",
othertest: "value"
});
如果在我的代码中的其他地方,我有一个包含这些值的键的数组,ie- keys = ["test", "othertest"]
如何循环遍历此数组以查找相应状态值的值?
答案 0 :(得分:13)
状态是一个对象,因此您可以通过以下方式访问任何值:
this.state[key]
使用任何循环map, forEach
等来迭代array
并按this.state[key]
访问该值,如下所示:
a.forEach(el => console.log(this.state[el]))
检查此代码段:
let state = {a: 1, b: 2};
let arr = ['a', 'b'];
let values = arr.map(el => state[el])
console.log(values);
答案 1 :(得分:1)
由于数组访问语法,您可以使用变量访问对象的属性(如状态):
let state = {a: 1, b: 2}
let myKey = 'a';
console.log(state[myKey]) // 1
因此,要获取键数组的所有值,请映射键数组并检索每个键的状态值。
let values = keys.map(key => this.state[key])