通过动态密钥获取状态值

Sna*_*ler 8 javascript reactjs

让我们说在我的组件中我设置状态如下:

this.setState({
      test: "value",
      othertest: "value"        
});
Run Code Online (Sandbox Code Playgroud)

如果,在我的代码中的其他地方,我有一个包含这些值的键的数组,即 - keys = ["test", "othertest"]如何循环遍历此数组以查找相应状态值的值?

May*_*kla 17

State是一个对象,因此您可以通过以下方式访问任何值:

this.state[key]
Run Code Online (Sandbox Code Playgroud)

使用任何循环map, forEach等来迭代array和访问值this.state[key],如下所示:

a.forEach(el => console.log(this.state[el]))
Run Code Online (Sandbox Code Playgroud)

检查此代码段:

let state = {a: 1, b: 2};
let arr = ['a', 'b'];

let values = arr.map(el => state[el])

console.log(values);
Run Code Online (Sandbox Code Playgroud)