官方文檔中指出
SectionList
- 本組件繼承自
PureComponent
而非通常的Component
,這意味着如果其props
在淺比較
中是相等的,則不會重新渲染。所以請先檢查你的renderItem
函數所依賴的props
數據(包括data
屬性以及可能用到的父組件的state),如果是一個引用類型(Object或者數組都是引用類型),則需要先修改其引用地址(比如先復制到一個新的Object或者數組中),然后再修改其值,否則界面很可能不會刷新。(譯注:這一段不了解的朋友建議先學習下js中的基本類型和引用類型。)
問題代碼
class UserList extends PureComponent
<Props,State>{
……
}
修改后成功代碼
class UserList extends Component <Props,State>{
…
}
雖然官方文檔我並沒有看懂….