react redux使用小結

2021-07-24 19:17:04 字數 2696 閱讀 9852

總結

需要使用的庫redux,react-redux,react-router-redux

使用乙個react-redux 的庫使得redux的使用更簡潔,它提供了providerconnect方法

先在入口檔案內使用

《元件/>

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';

//redux-dev-tools

const enhancers = compose(

window.devtool***tension ? window.devtool***tension() : f => f

);const store = createstore(rootreducer, defaultstate, enhancers);

webpack可以監聽我們的元件變化並做出即時相應,但卻無法監聽reducers的改變,所以在store.js中增加一下**

//此處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...