在create-react-app官方腳手架中引入redux資料管理工具
前言:從安裝腳手架到引入redux管理資料
直接開始
1.使用npm安裝腳手架工具
1)開啟命令列,全域性安裝create-react-app腳手架工具
npm install create-react-app -g
2)選擇好專案需要安裝的位置進行安裝,這裡安裝在d盤,這個過程事件稍微長一些,因為有很多依賴包需要去安裝
執行create-react-app mydemo,這裡已經安裝成功
3)根據幫助,切換到專案下並執行專案,就會看到官方的腳手架了
cd mydemo
npm start
4)專案結構如下圖所示,現在開始引入redux,它起的時一個資料管理的作用,具體的原理可以百度瞭解一下,推薦阮一峰老師的 Redux 入門教程(三):React-Redux 的用法
5)安裝react,react-redux
宣告:redux是資料管理的一個庫,理論上和react沒有直接聯絡,我們安裝react-redux將他們聯絡起來
執行npm install --save redux react-redux
+ redux@4.0.1
+ react-redux@7.0.3
added 4 packages from 3 contributors and audited 888993 packages in 25.961s
found 0 vulnerabilities
6)安裝成功後,我們就可以開始引入了
在這之前我們需要知道資料的流向,下面是我個人的理解:
redux資料管理的話由三部分組成:store,action及reducer,其中store在action與reducer之間起到橋樑的作用,使資料變化能下發到你繫結的元件中去,action是宣告變數的,reducer中做資料的邏輯處理,整個流程可以理解為,action中宣告建立一個變數,由dispatch方法,將變化的資料傳遞到action中,由action連線到store,然後到reducer中做處理,儲存在state中,通過react-redux中Provider元件物件的store屬性,下發到繫結的所有元件中,使用react-redux中的connect連線資料到頁面,從state中拿到變化的資料,下面開始具體操作:
新建action.js,宣告一個變數,例如:AGE
建立一個reducer.js,函式ageVal就是一個reducer,從redux中使用combinReducers就是將多個reducer函式整合起來為一個rootRducer,一起輸出,並給了age一個初始化值為0,可以為任意數
下面可以在入口檔案index.js中引入,將狀態下發下去了
①首先從react-redux中引入Porvider元件物件,他的作用就是將狀態資料下發到其下的每一個元件中
import { Provider } from 'react-redux';
②建立createStore方法去建立一個store資料管理物件進行下發
import { creatStore } from 'redux'
再將合併好的reducer引到首頁
createStore(reducer)建立一個state
7)到這裡redux引入完成,我們修改一下初始化的age值為18,在頁面獲取一下看看
在App.js頁面中先引入connect,它的作用是將state的狀態資料連線到UI元件層面,也就是App.js頁面上,使用一個方法getVal來接受狀態變化,放在connect()方法中作為引數,並且我們列印了state如下圖所示,我們將state.ageVal資料return到頁面上
使用this.props.xx,就可以拿到返回的資料了
這裡就可以在專案中使用redux管理資料了;
相關文章
- React(腳手架)——create-react-app擼api(三)ReactAPPAPI
- 在vue腳手架中如何使用EChartsVueEcharts
- 開發 react 應用最好用的腳手架 create-react-appReactAPP
- 服務端渲染的React手腳架。完美使用 React, Redux, and React-Router!最好用的腳手架服務端ReactRedux
- 新手搭建簡潔的Express-React-Redux腳手架ExpressReactRedux
- 擺脫create-react-app,來讓我們自己搭建一個react腳手架ReactAPP
- vue腳手架Vue
- 什麼是腳手架?為什麼需要腳手架?常用的腳手架有哪些?
- Vue CLI 3.0腳手架如何在本地配置mock資料VueMock
- vue - Vue腳手架Vue
- 腳手架與混入
- vue腳手架工具Vue
- 在 React-Native 中持久化 redux 資料React持久化Redux
- vue腳手架基礎Vue
- React腳手架之NextJsReactNextJS
- plop小型腳手架工具
- 資料管理工具Flux、Redux、Vuex的區別ReduxVue
- 使用腳手架建立Vue程式Vue
- vue - Vue腳手架/TodoList案例Vue
- 分享一個springboot腳手架Spring Boot
- 如何用vue搭建腳手架Vue
- 小型前端腳手架工具Plop前端
- 搭建webpack簡易腳手架Web
- React入門---react腳手架React
- Dva手腳架搭建React專案React
- 【Koa】腳手架登入驗證
- 原生純淨的Boot腳手架boot
- 從零學腳手架(四)---babelBabel
- 簡單vue專案腳手架Vue
- 腳手架的開發總結
- webpack4配置vue腳手架WebVue
- react+typescript+antd腳手架搭建ReactTypeScript
- Vue多頁應用腳手架Vue
- vue-cli 腳手架詳解Vue
- Vue2.0搭建腳手架流程Vue
- 從零開始搭建腳手架
- vue-koa 應用腳手架Vue
- 使用腳手架搭建VUE專案Vue