
Redux - 核心概念
假設我們應用程式的狀態由名為 initialState 的普通物件描述,如下所示 −
const initialState = { isLoading: false, items: [], hasError: false };
應用程式中的每行程式碼都更改不了這個狀態。要更改狀態,您需要釋出一個事件。
什麼是事件?
事件是一個帶有 type 屬性的普通物件,用於描述要引起更改的意圖。它必須有一個 type 屬性,用於指示要執行什麼型別的事件。事件命令如下 −
return { type: 'ITEMS_REQUEST', //action type isLoading: true //payload information }
事件和狀態由一個名為 Reducer 的函式放在一起。事件隨引起更改的意圖而釋出。此更改由 Reducer 執行。Reducer 是 Redux 中更改狀態的唯一途徑,這使其更具可預測性、集中性和可除錯性。處理“ITEMS_REQUEST”事件的 reducer 函式如下 −
const reducer = (state = initialState, action) => { //es6 arrow function switch (action.type) { case 'ITEMS_REQUEST': return Object.assign({}, state, { isLoading: action.isLoading }) default: return state; } }
Redux 有一個儲存應用程式狀態的單個 Store。如果要按照資料處理邏輯的基礎拆分程式碼,則應該在 Redux 中拆分 reducers 而不是 stores。
我們將在本教程的後面討論如何拆分 reducers 以及將其與 Store 結合使用。
Redux 元件如下 −

廣告