React Native

react native子组件不刷新

2018-10-16  本文已影响52人  萤火虫叔叔

这里记录下子组件不刷新的原因有哪些:

1、父组件传递给子组件的props的值没有改变

这是最常见的原因。

2、父组件的render没有执行。

子组件刷新的前提是,父组件必须刷新,所以如果父组件没有刷新,则先检查为什么父组件没有刷新。

3、在父组件中,子组件用在FlatList

FlatList的刷新机制是:默认情况下,如果data的值地址不改变,即使data中某个对象的某个属性值发生了改变,也不会触发FlatList的更新。所以需要设置extraData
比如data={userList},如果你想在userList中某个item的属性(假设为头像)发生改变时,FlatList的展示内容跟着变化。那应该这么设置<FlatList data={userList} extraData={userList} />

ps:extraData设置多个值的方法:<FlatList extraData={[list1, list2, list3]} />

上一篇 下一篇

猜你喜欢

热点阅读