本地反应如何动态识别哪个列表项处于活动状态?

时间:2019-01-10 06:36:42

标签: javascript reactjs react-native

我正在使用它们的索引渲染项目列表,并希望分别设置和检索这些项目的状态。例如,如果我正在渲染的特定项目未激活,那么我将渲染持续时间文本。

我的问题在以下示例中:如何评估类似this.state.[index]'started'的对象,其中index实际上是平面列表的索引,而不是状态对象中的value索引?我需要将其自动评估为this.state.1startedthis.state.2started...。this.state.nstarted

 {!this.state.index && (
    <Text style = {styles.timertext}>
         {this.state.duration}:00
      </Text>
  )}

2 个答案:

答案 0 :(得分:2)

尝试使用括号表示法访问对象的属性:

this.state[`${index + 1}started`]

答案 1 :(得分:0)

您可以将字符串用括号表示法连接起来
 例如:

    var obj = { '1started': '2:30', '2started': '3:30' }

    for (i = 1; i < 3; i++ ) {
       console.log(obj[i +'started']) // 2:30 3:30
    }

因此,您可以使用this.state[index + 1 +'started']