在从状态中删除元素时,无法正确更新本机平面列表

时间:2018-02-19 18:50:39

标签: javascript reactjs react-native

我遇到了来自React Native的Flatlist的问题。我不是React的专业人士,但我知道自己的方式。

firebase-admin

当从状态中的rules数组中删除一个Element时,它会从数组中正确删除,但是在平面列表中以图形方式删除,如果我删除第一个,第二个,最后一个,它总是在视觉上从列表中删除最后一个元素,但它保留在状态数组中。

<FlatList
      data={this.state.rules}
      renderItem={({ item, index}) => (
        <CodeRow
          text={item.text}
          key={index}
          numList={index}
          onTextUpdate={this.updateRules.bind(this)}
          onDeletePress={this.alertDeleteRule.bind(this)}
        />
      )}
      keyExtractor={item => item._id}
    />

我怀疑它与组件中的键有关,但我真的卡在这里。我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试将_id的商品传递到商品组件的key道具中:

<FlatList 
    data={this.state.rules}
    renderItem={({ item, index }) => (
        <CodeRow
            text={item.text}
            key={item._id}
            numList={index}
            onTextUpdate={this.updateRules.bind(this)}
            onDeletePress={this.alertDeleteRule.bind(this)}
        />
    )}
    keyExtractor={item => item._id}
/>