action creator
是一個函數,格式如下:
var actionCreator = function() {
// 構建一個 action 並返回它
return { type: 'AN_ACTION' } }
action
是一個擁有 type 屬性的對象,用來描述發生了什么,然后按 type 決定如何處理 action。
舉一個例子,獲取數據是一個 action,一個點擊是一個 action,一個 input 變化也是一個 action 等等。
下面是一些 action 的示例:
{ type: 'ADD_TODO', text: 'Go to swimming pool' }
{ type: 'TOGGLE_TODO', index: 1 } { type: 'SET_VISIBILITY_FILTER', filter: 'SHOW_ALL' }
reducer
為了把 action 和 state 串起來,開發一些函數,這就是 reducer。
Reducer 函數只是一個純函數,它接收應用程序的當前狀態以及發生的 action,然后返回修改后的新狀態(或者有人稱之為歸並后的狀態)。
reducer 只是一個接收 state 和 action,並返回新的 state 的函數。
對於大的應用來說,不大可能僅僅只寫一個這樣的函數,所以我們編寫很多小函數來分別管理 state 的一部分:
這里有個常見模式:在 reducer 里用 switch 來響應對應的 action 。用 switch 的時候, **永遠** 不要忘記放個 “default” 來返回 “state”,
參考:https://github.com/react-guide/redux-tutorial-cn