注意:react 和 redux原本是沒有聯繫的,它們是經過 react-redux 來進行鏈接javascript
reducer:改變statejava
例子: store、action和reducer的關係react
(1)聲明一個reducer(state,action)redux
參數一:state(當前的 state),函數
參數二:action(當前觸發的行爲,{type:「XXX」}),返回值,新的statespa
(2)建立 store(reducer,可選)3d
參數一:reducer 用來修改state
code
參數二:[], 默認的state值,若是不傳, 則爲undefined
對象
store.getState():能夠獲取當前store的狀態(state),
blog默認的值是 createStore 傳入的第二個參數
(3)經過 store.dispatch來修改state的狀態
注意:在redux裏,惟一可以修改state的方法,就是經過 store.dispatch(action)
總結
action:在redux裏只是普通的js對象,必須有一個type字段來標識
store:store有兩個核心的方法,一個是 getState(獲取store狀態state),另外一個是 dispatch(修改store狀態)
reducer:普通函數,傳入兩個參數 state(當前狀態,可經過store.getState()得到)、action(當前觸發行爲,經過 store.dispatch(action)調用觸發),reducer(state, action) 返回的值,就是store最新的state值。