總結
需要使用的庫redux,react-redux,react-router-redux
使用乙個react-redux 的庫使得redux的使用更簡潔,它提供了provider和connect方法
先在入口檔案內使用
《元件/>
provider>
這裡使用了redux中的重要組成部分store,所以下面先說store的檔案構成
這樣最簡單的store就做好了,然後上面還有reducer需要處理
reducer的簡單作用就是根據action的不同跟新state,此處的更新必須是返回乙個新的state,而不是在原來的state上做修改
//注意此處傳的參為state和action
let postcomments = (state = , action) =>
];case
"remove_comment":
return [
...state.slice(0,action.i), //剔除陣列中需要刪除的那個
...state.slice(action.i + 1)
];default:
return state;
}};
在我們的專案中,我們可能會分模組和功能寫多個reducer檔案,但最終,我們都需要把它合併到乙個裡面,這需要使用redex中的combinereducers
import from "redux";
import * as reducers from "./reducers"
const rootreducer = combinereducers();
export default rootreducer;
上面的合併reducers的檔案,在引入react-router-redux庫的routerreducer方法後,在combinereducers中加上routing: routerreducer
在store.js中加上以下**
...
import from 'react-router-redux';
import from 'react-router';
...export const history = synchistorywithstore(browserhistory, store);
3.在主入口檔案中的
根路由標籤使用store.js中匯出的history
...
// add comment
export let addcomment = (postid, author, text) =>
};
以上還未解決的問題就用connect([mapstatetoprops], [mapdispatchtoprops], [mergeprops], [options])
來解決,這裡我們只使用第一和第二個引數
import from 'redux';
import from 'react-redux';
//此處傳入的state即為store中的defaultstate
let mapstatetoprops = (state) =>
};//此處的actioncreators即為簡單的action檔案
//redux 本身提供了 bindactioncreators 函式,來將 action 包裝成直接可被呼叫的函式
let mapdispatchtoprops = (dispatch) => ;
//最後呼叫connect()
要使用redux的除錯工具需要在store.js檔案中的createstore()步驟中加入第三個引數,enhancers
import from 'redux';webpack可以監聽我們的元件變化並做出即時相應,但卻無法監聽reducers的改變,所以在store.js中增加一下**//redux-dev-tools
const enhancers = compose(
window.devtool***tension ? window.devtool***tension() : f => f
);const store = createstore(rootreducer, defaultstate, enhancers);
//此處accepts的引數是reducers的存放路徑,require()內的路徑為執行combinereducers()的檔案
if(module.hot))
}
經過一次回顧後,感覺比之前只看這視屏照著打要理解得更加深刻,雖然還是會有部分不能融會貫通,但基本的流程是清楚了不少,感覺果然向阮一峰老師的博文中指出使用react很方便,但是redux就不是一定要選擇用的,因為它還是存在一定的難度和複雜度的,特別是本身的業務邏輯不多,程式不大的時候
深入到原始碼:解讀 redux 的設計思路與用法
react redux使用小結
總結 需要使用的庫redux,react redux,react router redux 使用乙個react redux 的庫使得redux的使用更簡潔,它提供了provider和connect方法 先在入口檔案內使用 元件 provider 這裡使用了redux中的重要組成部分store,所以下...
react redux使用的方法
1.mapdispatchtoprops中使用bindactioncreators 2.import thunk from redux thunk 使用redux thunk中介軟體,我們可以在action構造器中返回乙個函式,而不是乙個物件。3.通常情況下,我們的專案可能會有龐大的資料,所以一般情...
九 react redux的使用
ui元件 容器元件 import from react redux import countui from components count import from redux count action function mapstatetoprops state function mapdispa...