基于FlatList的下拉稼稿、上拉刷新組件

react-native-refresh-list-view

Github地址
https://github.com/huanxsd/react-native-refresh-list-view
簡書

一個基于FlatList的列表下拉薄榛、上拉刷新控件。代碼一共100多行让歼,盡量寫得簡單易懂敞恋,方便各位根據(jù)自己的需求隨意修改。
如果有bug或建議谋右,歡迎提issue硬猫。

截圖

下拉刷新

1.png

上拉翻頁

2.png

已加載全部數(shù)據(jù)

3.png

安裝

NPM

npm install --save react-native-refresh-list-view

手動安裝

下載源碼,將RefreshListView.js拖入工程中

運行Demo

第一步

進入Example目錄改执,執(zhí)行:

npm install

第二步

react-native run-ios

Example


constructor(props) {
    super(props)

    this.state = {
        refreshState: RefreshState.Idle,
    }
}

render() {
    return (
        <RefreshListView
            data={this.state.dataList}
            keyExtractor={this.keyExtractor}
            renderItem={this.renderCell}

            refreshState={this.state.refreshState}
            onHeaderRefresh={this.onHeaderRefresh}
            onFooterRefresh={this.onFooterRefresh}
        />
    )
}

// 開始下拉刷新
this.setState({refreshState: RefreshState.HeaderRefreshing})

// 開始上拉翻頁
this.setState({refreshState: RefreshState.FooterRefreshing})

// 加載成功
this.setState({refreshState: RefreshState.Idle})

// 加載失敗
this.setState({refreshState: RefreshState.Failure})

// 加載全部數(shù)據(jù)
this.setState({refreshState: RefreshState.NoMoreData})

Props

Prop Type Description Default
refreshState number 列表刷新狀態(tài):
1啸蜜、Idle(普通狀態(tài))
2、HeaderRefreshing(頭部菊花轉(zhuǎn)圈圈中)
3辈挂、FooterRefreshing(底部菊花轉(zhuǎn)圈圈中)
4衬横、NoMoreData(已加載全部數(shù)據(jù))
5、Failure(加載失斨盏佟)
None
onHeaderRefresh (refreshState: number) => void 下拉刷新回調(diào)方法
refreshState參數(shù)值為RefreshState.HeaderRefreshing
None
onFooterRefresh (refreshState: number) => void 上拉翻頁回調(diào)方法
refreshState參數(shù)值為RefreshState.FooterRefreshing
None
data Array 同F(xiàn)latList中的data屬性 None
footerContainerStyle ?Object 自定義底部容器樣式 None
footerTextStyle ?Object 自定義底部文字樣式 None
footerRefreshingText ?string 自定義底部刷新中文字 '數(shù)據(jù)加載中…'
footerFailureText ?string 自定義底部失敗文字 '點擊重新加載'
footerNoMoreDataText ?string 自定義底部已加載全部數(shù)據(jù)文字 '已加載全部數(shù)據(jù)'

常見問題

列表滑動過程中蜂林,可能會出現(xiàn)警告
Task orphaned for request <NSMutableURLRequest: [[SOME_HEX_CODE]]> { URL: [[IMG_URL]] }

具體錯誤見官方issue
解決方案:使用圖片緩存庫react-native-cached-image

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拇泣,一起剝皮案震驚了整個濱河市噪叙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霉翔,老刑警劉巖睁蕾,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡子眶,警方通過查閱死者的電腦和手機瀑凝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壹店,“玉大人猜丹,你說我怎么就攤上這事」杪” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵藏杖,是天一觀的道長将塑。 經(jīng)常有香客問我,道長蝌麸,這世上最難降的妖魔是什么点寥? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮来吩,結(jié)果婚禮上敢辩,老公的妹妹穿的比我還像新娘。我一直安慰自己弟疆,他們只是感情好戚长,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怠苔,像睡著了一般同廉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柑司,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天迫肖,我揣著相機與錄音,去河邊找鬼攒驰。 笑死蟆湖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的玻粪。 我是一名探鬼主播隅津,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沈跨,長吁一口氣:“原來是場噩夢啊……” “哼谜悟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涮毫,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痹籍,失蹤者是張志新(化名)和其女友劉穎呢铆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹲缠,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡棺克,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年悠垛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娜谊。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡确买,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纱皆,到底是詐尸還是另有隱情湾趾,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布派草,位于F島的核電站搀缠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏近迁。R本人自食惡果不足惜艺普,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鉴竭。 院中可真熱鬧歧譬,春花似錦、人聲如沸搏存。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祭埂。三九已至面氓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛆橡,已是汗流浹背舌界。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泰演,地道東北人呻拌。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像睦焕,于是被迫代替她去往敵國和親藐握。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容