redux:狀態管理方式
三大要件: store、action、reducer
store
存放多個元件或是深層級的子元件會用到的 state。
action
- 一個物件,描述使用者要發動的 action (行為) 的類別與帶上的資料。
- 由 dispatch 函式將 aciton 傳送到 reducer 處理。
const action = {
type: 'ADD_COUNT',
payload: 1
}
reducer
負責處理 dispatch (派發) 來的 action,並根據 action 的 type 進行對應的處理,將改變後的 state 傳回 store。
通常的觸發順序
- view 代表使用者操作的頁面,通常資料流會從 view 出發。
- 點選一個按鈕後 dispatch 一個 action 到 reducer。
- reducer 根據送來的 action.type 做對應處理。例如: reducer 接收到 'ADD_COUNT' 的 action,將 count state 加 1,再送回 store 讓 component 抓取。
總結
redux 是狀態管理方式,而 redux 並不是 react 中的套件,但跟 react 搭配超好用。