React+Redux開發實戰項目【美團App】,沒你想的那麼難

来源:http://www.cnblogs.com/Magiccwl/archive/2017/06/12/6995517.html
-Advertisement-
Play Games

README.md 前言 項目介紹 項目演示 GitHub 地址 線上演示 功能介紹 1. 首頁開發GitHub 地址 2. 城市頁面GitHub 地址 3. 搜索結果頁GitHub 地址 4. 詳情頁面GitHub 地址 5. 登錄頁面GitHub 地址 6. 收藏與購買GitHub 地址 7. ...


README.md

前言

開始學習React的時候,在網上找了一些文章,讀了官網的一些文檔,後來覺得React上手還是蠻簡單的,  
然後就在網上找了一個React實戰的練手項目,個人學完之後覺得這個項目很適合初學者或者進階的朋友  
練習,在此分享跟大家

項目介紹

該項目類似與大眾點評,美團等一些O2O的軟體,功能相似,但由於是練手的項目,目的在於React+Redux  
的應用,所以在一些功能上會簡化,功能稍後點評,先讓大家看效果

項目演示

Demo

GitHub 地址 
線上演示

功能介紹

1. 首頁開發GitHub 地址 
Main Page

2. 城市頁面GitHub 地址 
City Page

3. 搜索結果頁GitHub 地址 
Search Page

4. 詳情頁面GitHub 地址 
Detail Page

5. 登錄頁面GitHub 地址 
Login Page

6. 收藏與購買GitHub 地址 
Buy&&Store Page

7. 個人中心頁面GitHub 地址 
User Page

8. 評價功能GitHub 地址 
Comment Page

體系&技術分析

如果沒有瞭解[React](http://reactjs.cn/)和[Redux](http://redux.js.org/)的初學者可以先去網上找一些資料  
和博客看一下,先入門,最好是到去看官方文檔。

- React

框架React提供模塊開發的規範,每一個組件,每一個頁面當做一個模塊Component,極大便捷了團隊的開發,同時可以很  
方便做到組件的分離

- redux是一個數據管理容器,可以很方便的實現組件之間的數據共用,由於React的數據流是單向的,不像Angular等其  
他的雙向數據流的框架,所以React會結合Flux或者Redux來開發使用。官方的概念晦澀難懂, 理解了state, store,   
action,reducer之後再看就能理解了

>Redux is a predictable state container for JavaScript apps.

- less
 一種css的預編譯語言。這個項目中的樣式和佈局還是div+css.

- 管理工具git&webpack&npm
 git作為代碼的托管工具,webpack作為開發的管理工具,npm包管理

 - 後臺模擬數據KOA

總結

學完這個項目之後,相信大家會知道React+Reduce的開發的應用,和開發流程等等,同時會加深對React的理解,這也是  
這個項目最大的好處。另一方面,React帶給我們組件化的開發模式,在代碼結構上非常的清晰,易於維護和擴展。相對於  
利用Jquery開發最大的好處就是React的數據驅動視圖的開發方式,在性能上也有一定的提升。

但實戰項目始終是框架的運用,如果要做到代碼和框架的性能優化,這個項目遠遠達不到效果。同時在這個項目中,我們也  
使用了企業中常用的一些性能優化,比如使用React官方提供的庫 **react-addons-pure-render-mixin** ,但對於一  
些特定功能來講,使用這個方法並達不到很好的效果,如果需要更加深刻的理解React的框架,除了必要的文檔,其內部的  
組織架構和實現方式也要瞭解,小編現在還沒有深入研究,有能力的學生可以多研究一下。

說明

 開發的流程也就是按照上面的順序開發,GitHub上面有9個分支,對應每一個功能的開發,大家可以按照順序下載代碼學習  
 方便初學者學習和使用,項目來源於Mooc網的React實戰項目,在此基礎上修改了一下小問題,主要代碼一致。參考MOOC網  
 [React模仿大眾點評],這個上面的手記特別的詳細,大家務必看一下

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 年後到現在的都在忙的項目中本人主要負責的模塊就是文件解析這一部分,做的時候是各種踩坑各種鬧心啊,好歹是終於結束了,現在把項目中各種文件的解析做個總結,以備後用,這次項目中主要解析的文檔包括office文件、pdf、csv、rtf、txt、jtd以及eml、msg和pst格式的郵件,還有rar和zip ...
  • 這一次的畢業設計由於老師催的太緊,系統設計階段草草進行導致最終的編碼階段代碼復用率不高,辣雞代碼太多。同時還有就是自己的經驗不足,設計階段考慮的東西不夠多,拘泥於各種七七八八的圖中間,不能自拔,好了,廢話說道這裡,零零散散的總結一點心得。 (1)設計階段實體需要明確。 當一個系統需求分析階段過了以後 ...
  • 摘要: 還在為刪除文件慢煩惱嗎?強大工具dlf來幫助你。作為一名前端開發,最常見的就是node_modules,如果dependencies很多,osx系統刪除還好,Windows用戶就麻煩了。本文分享一塊命令行文件及文件夾刪除工具。 安裝使用: 此工具使用了node.js,所以先保證你的電腦安裝了 ...
  • js-spark-md5是歪果仁開發的東西,有點多,但是我們只要一個js文件即可,具體類包我存在自己的oschina上,下載地址:https://git.oschina.net/jianqingwang/js-spark-md5 js-spark-md5是做什麼的? js-spark-md5是號稱全 ...
  • jQuery動畫 hide([speed,[fn]]) 概述:隱藏顯示的元素 參數:speed:三種預定速度之一的字元串("slow","normal", or "fast")或表示 動畫時長的毫秒數值(如:1000) fn:在動畫完成時執行的函數,每個元素執行一次。 show([speed,[fn ...
  • 截止目前,新版的 APICloud Studio 2 仍然處於公測期.APICloud Studio 2 的代碼管理客戶端,由 SVN 改為了 GIT.公司代碼伺服器,仍然是 SVN 伺服器,前端使用 GIT 作為客戶端.一些童鞋,肯定已經猜到了 -- APICloud Studio 2使用了 GI... ...
  • <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style type="text/css">.wrap { width: 400px; margin: 30px auto;}text ...
  • document.createElement(tagName) 通過標簽名的形式創建一個元素 parentNode.appendChild(childNode) 往一個節點裡邊添加一個子節點,註意是添加在最後 parentNode.insertBefore(childNode1,childNode2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...