<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MeiTuan高仿美團(tuán)客戶端 React-Native 版

          聯(lián)合創(chuàng)作 · 2023-09-24 17:30

          這是一個(gè)用React-Native寫的美團(tuán)客戶端。使用了React-Native 0.42版本。遵循ES6語(yǔ)法。主要實(shí)現(xiàn)了美團(tuán)的四個(gè)一級(jí)頁(yè)面(團(tuán)購(gòu)、附近、訂單、我的),以及部分二級(jí)頁(yè)面(團(tuán)購(gòu)詳情、Web頁(yè)面)。

          所有功能都是用JavaScript寫的,iOS和Android的代碼復(fù)用率達(dá)到了97%(別問(wèn)我這個(gè)數(shù)字怎么來(lái)的,我瞎掰的)。

          這個(gè)Demo的靜態(tài)類型檢查工具使用了Facebook的Flow。它讓我寫JavaScript的時(shí)候,更有安全感。個(gè)人覺得可以用兩個(gè)字形容這個(gè)工具,那就是:灰常牛逼!

          我試著讓這個(gè)Demo的結(jié)構(gòu)盡量接近實(shí)際項(xiàng)目,同時(shí)使用比較簡(jiǎn)單方式去實(shí)現(xiàn)功能。這樣可以讓剛接觸ReactNative的人(比如我自己...)更夠容易理解代碼。

          所有的JS代碼都在src目錄下。

          Paste_Image.png

          • common
            通用的工具類

          • img
            所有圖片資源

          • scene
            所有場(chǎng)景

          • widget
            通用的UI控件

          • api.js
            網(wǎng)絡(luò)請(qǐng)求的接口

          • RootScene.js
            App的主入口,類似iOS中的RootViewController

          該項(xiàng)目沒(méi)有使用Redux。因?yàn)閭€(gè)人覺得目前大部分的中小型App并不需要Redux。如果盲目的將Redux添加到項(xiàng)目中,并不能帶來(lái)太多的益處。
          魯迅曾說(shuō)過(guò):

          "如果你不知道是否需要 Redux,那就是不需要它。"

          Redux的作者 Dan Abramov 說(shuō)過(guò):

          "只有遇到 React 實(shí)在解決不了的問(wèn)題,你才需要 Redux 。"

          哦,另外一個(gè)沒(méi)有用Redux的原因,是我還不太會(huì)用。

          App的頁(yè)面跳轉(zhuǎn)、TabBar、Navigation,全部通過(guò)第三方的庫(kù)react-native-router-flux實(shí)現(xiàn)。這是一個(gè)非常牛逼的庫(kù),可以實(shí)現(xiàn)很多自定義的跳轉(zhuǎn)功能。

          App中很多頁(yè)面都使用了同一個(gè)網(wǎng)絡(luò)接口,這不是為了讓代碼更加簡(jiǎn)潔,僅僅是我偷懶 >.<

          第三方依賴

          安裝

          1. Clone the repo

            $ git clone https://github.com/huanxsd/MeiTuan.git
            $ cd MeiTuan
          2. Install dependencies (npm v3+)

            $ npm install
          3. Running on iOS

            $ react-native run-ios

          常見問(wèn)題

          Could not connect to development server

          打開新的terminal窗口,并執(zhí)行:

            $ react-native start

          瞎扯蛋

          我之前一直在寫Objective-C,但不久前看了ES6的語(yǔ)法和Flex布局方式后,我便馬上愛上了這種開發(fā)方式。
          這個(gè)Demo花了大概5天時(shí)間,是我的第一個(gè)ReactNative項(xiàng)目。
          如果對(duì)這個(gè)Demo有任何的意見或建議,或者喜歡ReactNative的朋友,歡迎在下方留言。我會(huì)在第一時(shí)間回復(fù) :)

          最后

          如果你喜歡這個(gè)Demo,請(qǐng)給我一個(gè)star :)
          我將持續(xù)更新這個(gè)Demo

          瀏覽 22
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲自拍小视频 | 亚洲AV激情无码专区在线播放 | 欧美成人三级网站 | 狠狠V日韩V欧美 | 青春草在线视频免费观看 |