一、腳手架搭建react結構目錄:
1、npm install -g create-react-app 全局安裝react腳手架
2、create-react-app react-demo 創建react-demo項目
3、cd react-demo 進入到項目文件夾
4、npm start 啟動本地項目
二、Styled-Components與Reset.css的結合使用.
Styled-Components解決css樣式表不能私有的問題,且可以將組件與樣式結合,方便構建小組件。Reset.css重置不同瀏覽器標簽默認設置
三、React-Redux進行應用數據的管理
有些組件的數據,你認為是只有該組件要用,但是隨着項目不斷擴展,說不定其他組件也要用,這時候既然用了React-Redux管理數據,就是要將所有的數據都交給其管理
React-Redux和Redux這兩個包都是結合使用的,React-Redux有個Provider核心組件,這點注意
四、combineReducers完成對數據的拆分管理
項目越大,reducer.js代碼越多,所以構建項目時候就先要進行拆分處理
五、actionCreators與constants的拆分
action對象的創建,acitonType的常量都要單獨寫在一個文件中進行管理
六、使用Immutable.js來管理store中的數據
Immutable對象數據修改,每次都會自動創建出一個新的Immutable對象,用Immutable來解決store中的state誤被修改的問題。
七、redux-immutable統一數據格式
在第四步中,用combineReducers對拆分的reducer合並到總的reducer中,此時reducer返回的state還不是immutate對象,會造成數據格式不統一,將combineReducers原本由
redux包引入,改為由redux-immutable引入即可。
八、使用redux-thunk/redux-saga中間件做異步請求數據操作
九、使用reactApp的public目錄做偽接口,假數據
create-react-app實際上也是幫我創建了一個node服務器,當我們用請求localhost:3000/xxx路徑的時候,node首先到工程目錄下看是否配置了對應的路由react-router,找不到還會到public目錄下去找這個路徑,將找到的文件內容響應給瀏覽器
十、使用react-loadable異步加載組件
同步加載組件有個問題是一次性將所有的js代碼加載過來,大型項目會導致加載首頁太慢,使用react-loadable異步加載,切換路由需要加載哪個組件,再去加載特定js組件的代碼
https://github.com/jamiebuilds/react-loadable 查看實例代碼