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