Redux 基本概念2
使用React連結Redux
到19章先輸入npm install安裝package.json寫的模組
這章的幾個資料夾是延續我們上一張React的結構
之後安裝使用redux所需要的模組
npm install --save redux react-redux react-router-redux redux-logger之後我們執行,然後看著程式碼進行講解
client.js
1.使用Provider包住router,之後元件使用connect即可獲得Redux store
2.syncHistoryWithStore讓瀏覽器的location同步到store中

元件中
store
1.
2.
3.
操作非同步動作(Async)
例如:
我們今天有一個按鈕,點擊後發出action去跟server要資料,回傳資料後再觸發一個action去更新state
使用Redux-thunk
npm install redux-thunk
將store.js改為
之後我們action.js裡面寫的方法不只可以return物件,還可以return function
這個function就是用來寫非同步API,最後拿回資料再寫return,之後即會送到reducer處理
例如:
我們可以把action加上如下
之後TodoList.js加入
Redux Devtools
1.到chrome extension 下載Redux Devtools
https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=zh-TW
2.在程式的store.js中改為如下
3.開啟網頁即可看到chrome extension的redux devtools亮起,即可點選開啟
--試著發出一些action然後點選最下方第七個時鐘圖案,即可看到他可以重播我們做過的action
--也可點選chart去做查看
--可點上方的做過的action的JUMP按鈕,之後可到當時的情況,但JUMP過去後不可再做改變,也就是點選畫面會沒反應,必須再JUMP回最新的action才能繼續對畫面做點選(原因是設計者要讓我們可以觀看過去但不可更改,否則後續的流程都會亂掉)

Last updated
Was this helpful?