[Redux] Redux Basic 基礎
內容可能過時
本文介紹的是傳統 Redux 模式(手動定義 action creators、switch-case reducers、createStore)。createStore 自 Redux 4.2.0 起已被標記為棄用,官方強烈推薦使用 Redux Toolkit (RTK) 的 configureStore 和 createSlice。此外,connect HOC 已被 useSelector/useDispatch Hooks 取代為推薦用法。create-react-app 也已棄用。
安裝
# 搭配 CRA 的安裝方式(CRA 已棄用,建議改用 Vite)
$ npx create-react-app my-app --template redux
觀念
- 當我們搭配 Redux 使用之後,所有的資料處理(包含 AJAX)都是透過 Redux 來進行,React 只負責資料的呈現。
- 你可能會經常看到 state 和 store 這兩個字交互著使用,精確來說 state 指的是資料本身,而 store 指的是資料存放的地方。
- 在搭配 redux 使用 react 時會載入兩個不同的函式庫:
- redux:存放資料狀態的地方,當資料狀態改變的時候會有反應。
- react-redux:讓 redux 中的狀態可以和 React 相連接。
- Higher Order Function(HOF):又稱作 higher-order component(HOC),在 Redux 中,會看到
connect(mapStateToProps)(ComponentName)這種用法。這裡個connect就是 higher-order function,簡單來說就是指當你呼叫它時,它會回傳一個函式,接著把這個函式再代入 Component 作為參數後,它會包一個新的 Component 出來。