栗子:
數(shù)據(jù)格式:
注意:在使用renderScetionHeader方法的時候,傳遞給函數(shù)的參數(shù)名稱一定要是section,否則他不會渲染并且會報錯。
SectionList常用屬性
sections: Array相當于ListView中的數(shù)據(jù)源,SectionList所需要的數(shù)據(jù)都是經由sections屬性傳入,數(shù)據(jù)類型為Array類型
renderItem: (info: {item: Item, index: number}) => ?React.Element renderItem返回Section中的每個小的的Item。可以通過函數(shù)返回Element,函數(shù)有一個info參數(shù),參數(shù)為JSON形式,參數(shù)形式為:{item: Item, index: number}。
renderSectionHeader: (info: {section: SectionT}) => ?react.Element renderSectionHeader返回每個Section的標志性頭部,可以通過函數(shù)返回Element,函數(shù)有一個info參數(shù),參數(shù)為JSON形式,參數(shù)形式為:{section:{key : number, data : [ Object, Object, …] }}。
refreshing: boolean 是否處于刷新狀態(tài)。
onRefresh: () => void 通過函數(shù)改變refreshing從而控制刷新與否。
ItemSeparatorComponent: ReactClass item之間的分隔線組件。不會出現(xiàn)在第一行之前和最后一行之后。
SectionSeparatorComponent: ReactClass .每個section之間的分隔組件。
ListHeaderComponent: ReactClass SectionList頭部組件。
ListFooterComponent: ReactClass SectionList尾部組件。
keyExtractor: (item: Item, index: number) => string 默認情況下每個item都需要提供一個不重復的key屬性,因此可以通過keyExtractor函數(shù)為每一個item生成一個唯一的key。
onEndReached: (info: {distanceFromEnd: number}) => void 是否到達底部,在默認情況下會有一個默認的distanceFromEnd臨界值。可以通過此屬性來達到上拉加載的效果。
onEndReachedThresholdnumber 調用onEndReached之前的臨界值,單位是像素。
-
注意:為了優(yōu)化內存占用同時保持滑動的流暢,列表內容會在屏幕外異步繪制。這意味著如果用戶滑動的速度超過渲染的速度,則會先看到空白的內容。這是為了優(yōu)化不得不作出的妥協(xié),目前官方也在改進中。
栗子:
首先是引入要用到的組件:
之后是定義的class類中的render方法中需要渲染的組件樣式
組件用到的方法:
具體可參考:http://blog.csdn.net/qq_38453189/article/details/72810741