当前位置: 首页 > 面试题库 >

通过反应中的动态键获取状态值

耿俊彦
2023-03-14
问题内容

假设我在组件中将状态设置为:

this.setState({
      test: "value",
      othertest: "value"        
});

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


问题答案:

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

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);


 类似资料:
  • 我使用一个restendpoint来启动一个java进程,使用executeWithLock,它接收一个LockingTaskExecutor。TaskWithResult(TaskWithResult的调用方法调用java进程/方法)。这很好,它只允许在任何时间点执行java进程,我可以从TaskResult获得执行状态。在某些情况下,java进程长时间运行,而rest调用在进程仍在执行时暂停,

  • 问题内容: 我有以下代码片段: 我将如何使用上面的代码来设置每个键的状态。 这是初始状态: 问题答案: 基本规则是: 我们可以使用 计算属性名称 概念,并使用任何 js表达式 动态计算对象属性名称。为此,我们需要将表达式放在里面。 像这样: 解: 按照您发布的代码,你需要把里面,就像这样: 或者我们可以先创建该对象,然后将该对象传递给函数,如下所示: 另外,您不需要。您可以直接使用新值更新状态变量

  • 这是初始状态:

  • 问题内容: 我想取一个并将其附加到资源ID中,以便能够获得与游戏中该编号卡座相对应的图像。使用其他设备上的路径很容易,但是使用资源ID时,我不确定该怎么做。 这是我现在所拥有的: 在我的Blackberry版本中,我简单地拥有: 有没有办法在Android上使用资源ID来完成类似的工作? 问题答案: 使用您的(例如),但请缓存的结果,如果你会不止一次地使用它。在上实现。 例如: 将返回的值,其中是

  • 问题内容: 我有以下组成部分: 是否可以选择需要更新哪些状态属性及其值? 我已经试过了: 这样它就可以像这样使用: 但它不起作用(状态无法更新)。 问题答案: 您可以通过两种方式做到这一点: 或有点更高级: 假设是要更新的属性的名称。

  • 问题内容: 我在CSS中使用了两个关键帧动画。一个从左到右移动,另一个使用完全相同的值-但取反。 但是,我想知道是否可能仅使用一个关键帧动画。但是一旦添加,动画就只播放一次。它可能会保存以前使用过的信息。因此:我可以通过某种方式重置此信息吗?还是有可能在不同方向上两次使用一个动画?(不使用JS) 问题答案: 不,没有办法单独使用CSS重新启动动画。您必须使用JavaScript从元素中删除动画,然