1. 程式人生 > >React+Redux開發實戰專案【美團App】,沒你想的那麼難

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

README.md

前言

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

專案介紹

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

專案演示

Demo

功能介紹

體系&技術分析

如果沒有了解[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模仿大眾點評],這個上面的手記特別的詳細,大家務必看一下