注意:react 和 redux本來是沒有聯系的,它們是通過 react-redux 來進行連接
reducer:改變state
例子: store、action和reducer的關系
(1)聲明一個reducer(state,action)
參數一:state(當前的 state),
參數二:action(當前觸發的行為,{type:“XXX”}),返回值,新的state
(2)創建 store(reducer,可選)
參數一:reducer 用來修改state
參數二:[], 默認的state值,如果不傳, 則為undefined
store.getState():可以獲取當前store的狀態(state),
默認的值是 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值。