当数据源中的对象发生更改时,React本机平面列表不会重新呈现

时间:2019-07-22 02:29:52

标签: reactjs native react-native-flatlist

我正在使用react本机平面列表来呈现格式为

的数据

data = {item1:{                                文字:“ abcd”,id:1                              },                 item2:{                                文字:“ xyz”,id:2                              }             }

问题是,当我更改item1的文本属性时,它不会重新呈现。我还设置了额外的数据来设置为this.state.data。另外,我正在创建数据的副本,然后再更改其值,然后使用set state设置数据的新值。

1 个答案:

答案 0 :(得分:0)

您只能在列表中正确更改项目。因此该列表未更改,它仍然是相同的列表。这就是为什么不重新渲染组件的原因。您需要创建一个新列表并将数据复制到该列表。如

const newList = [...oldListWithDataUpdated ]

您可以阅读这篇帖子https://blog.logrocket.com/immutability-in-react-ebe55253a1cc/以获得更多信息。