在 Redux 中,Reducer(減速器)是一個(gè)純函數(shù),它接收先前的狀態(tài)(previous state)和一個(gè) Action,并返回一個(gè)新的狀態(tài)(new state)。Reducer 定義了應(yīng)用中如何響應(yīng)發(fā)生的 Action,以及如何更新狀態(tài)。
Reducer 的函數(shù)簽名如下:
function reducer(previousState, action) {
// 根據(jù) action 的類型,更新狀態(tài)并返回新的狀態(tài)
// ...
return newState;
}
Reducer 函數(shù)接收兩個(gè)參數(shù):先前的狀態(tài) previousState 和當(dāng)前的 Action action。它通過判斷 Action 的類型來決定如何處理該 Action,并基于先前的狀態(tài)生成一個(gè)新的狀態(tài)。最后,它返回這個(gè)新的狀態(tài) newState。
Reducer 必須是純函數(shù),即給定相同的輸入,它們始終產(chǎn)生相同的輸出,并且不會(huì)修改傳入的參數(shù)。