React Native實現(xiàn)仿天貓商品分類頁面

React Native實現(xiàn)仿天貓商品類目列表

前段時間在群里有人問我抱慌,類似天貓類目分類這種列表怎么實現(xiàn)梅尤,其實這個類目不算復(fù)雜,只要清楚這兩個列表之間的關(guān)系姑隅,選擇好相應(yīng)的組件伞梯,開發(fā)起來還是挺簡單的玫氢,只是在開發(fā)中也有幾個需要注意的小細節(jié)處理

效果圖預(yù)覽

gif

Demo地址

https://github.com/guangqiang-liu/react-native-categoryListDemo

注意事項

  • 根類目點擊時,當(dāng)類目列表超過一屏?xí)r谜诫,需要滾動到列表的頂部漾峡,并且也需要將右邊的分類列表滾動到頂部,天貓的目錄就是這種效果
  • 控制頁面的渲染時機猜绣,如果數(shù)據(jù)量很大灰殴,建議單獨做些優(yōu)化
  • FlatList和SectionList數(shù)據(jù)源的組裝
  • 列表偏移量處理

核心源碼

<FlatList
          ref={flatList => this._flatList = flatList}
          data={data}
          ListHeaderComponent={() => (<View/>)}
          ListFooterComponent={() => (<View/>)}
          ItemSeparatorComponent={() => <View style={{height:1, backgroundColor:'#F5F5F5'}}/>}
          renderItem={this._renderItem}
          onEndReachedThreshold={20}
          showsVerticalScrollIndicator={false}
          >
        </FlatList>
<SectionList
          ref={(ref) => this._sectionList = ref}
          renderSectionHeader={this.sectionComp}
          renderItem={(data) => this.renderItem(data)}
          sections={tempArr}
          ItemSeparatorComponent={() => <View/>}
          ListHeaderComponent={() => <View/>}
          ListFooterComponent={() => <View/>}
          showsVerticalScrollIndicator={false}
          keyExtractor={(item, index) => 'key' + index + item}
        />
// 設(shè)置列表的偏移量
_renderItem = item => {
    let index = item.index
    let title = item.item.title
    return (
      <TouchableOpacity
        key={index}
        style={[{alignItems: 'center', justifyContent: 'center', width: 100, height: 44}, this.state.selectedRootCate === index ? {backgroundColor: '#F5F5F5', borderLeftWidth: 3, borderLeftColor: 'red'} : {backgroundColor: 'white'}]}
        onPress={() => {
          (CateData.data.length - index) * 45 > height - 65 ? this._flatList.scrollToOffset({animated: true, offset: index * 45}) : null
          this._sectionList.scrollToLocation({itemIndex: 0, sectionIndex: 0, animated: true, viewOffset: 20})
          this.setState({selectedRootCate: index})
        }}
      >
        <Text style={{fontSize: 13, color: this.state.selectedRootCate === index ? 'red' : '#333'}}>{title}</Text>
      </TouchableOpacity>
    )
  }

更多文章

  • 作者React Native開源項目OneM【500+ star】地址(按照企業(yè)開發(fā)標(biāo)準(zhǔn)搭建框架完成開發(fā)的):https://github.com/guangqiang-liu/OneM:歡迎小伙伴們 star
  • 作者簡書主頁:包含60多篇RN開發(fā)相關(guān)的技術(shù)文章http://www.reibang.com/u/023338566ca5 歡迎小伙伴們:多多關(guān)注多多點贊
  • 作者React Native QQ技術(shù)交流群:620792950 歡迎小伙伴進群交流學(xué)習(xí)
  • 友情提示:在開發(fā)中有遇到RN相關(guān)的技術(shù)問題掰邢,歡迎小伙伴加入交流群(620792950)牺陶,在群里提問、互相交流學(xué)習(xí)辣之。交流群也定期更新最新的RN學(xué)習(xí)資料給大家掰伸,謝謝大家支持!

小伙伴們掃下方二維碼加入RN技術(shù)交流QQ群

QQ群二維碼怀估,500+ RN工程師在等你加入哦
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狮鸭,一起剝皮案震驚了整個濱河市合搅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌歧蕉,老刑警劉巖灾部,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惯退,居然都是意外死亡赌髓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門催跪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锁蠕,“玉大人,你說我怎么就攤上這事懊蒸∪偾悖” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵骑丸,是天一觀的道長舌仍。 經(jīng)常有香客問我,道長者娱,這世上最難降的妖魔是什么抡笼? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任苏揣,我火速辦了婚禮黄鳍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘平匈。我一直安慰自己框沟,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布增炭。 她就那樣靜靜地躺著忍燥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隙姿。 梳的紋絲不亂的頭發(fā)上梅垄,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天,我揣著相機與錄音输玷,去河邊找鬼队丝。 笑死,一個胖子當(dāng)著我的面吹牛欲鹏,可吹牛的內(nèi)容都是我干的机久。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼赔嚎,長吁一口氣:“原來是場噩夢啊……” “哼膘盖!你這毒婦竟也來了胧弛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤侠畔,失蹤者是張志新(化名)和其女友劉穎结缚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體软棺,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡掺冠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了码党。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片德崭。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖揖盘,靈堂內(nèi)的尸體忽然破棺而出眉厨,到底是詐尸還是另有隱情,我是刑警寧澤兽狭,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布憾股,位于F島的核電站,受9級特大地震影響箕慧,放射性物質(zhì)發(fā)生泄漏服球。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一颠焦、第九天 我趴在偏房一處隱蔽的房頂上張望斩熊。 院中可真熱鬧,春花似錦伐庭、人聲如沸粉渠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霸株。三九已至,卻和暖如春集乔,著一層夾襖步出監(jiān)牢的瞬間去件,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工扰路, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尤溜,地道東北人。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓幼衰,卻偏偏與公主長得像靴跛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子渡嚣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,576評論 2 349

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