在这里我们再FlatList中使用了curElement可观察数据,若我们curElement观察数据发生改变后,我们发现FlatList没有重新渲染,这是为什么呢?我们看看官方的解释吧~
简单明了,我们只要在FlatList中加上extraData属性加上我们renderItem里所用到的对象就可以重新渲染啦~
<FlatList
data={curProperty.items}
keyExtractor={this._keyExtractor}
extraData={toJS(curElement)}
renderItem={({ item }) => {
<InputText
title={item.title}
value={curElement[item.key]}
/>
}}
/>