react-native SectionList?屬性及使用小栗子

栗子:

數(shù)據(jù)格式:

數(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方法中需要渲染的組件樣式


render方法部分代碼

組件用到的方法:


組件中用到的的組件外定義的方法


具體可參考:http://blog.csdn.net/qq_38453189/article/details/72810741

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容