Appearance
Reducer
什么是 Reducer?
Reducer 是 Redux 中用于管理状态的函数。它是一个纯函数,接收先前的状态和动作,返回新的状态。 Reducer 必须是纯函数,这意味着它必须是无副作用的,也就是说,它必须返回一个新的对象,而不是修改传入的参数。这就保证了 Redux 的状态是只读的,这也是 Redux 架构的核心。
如何使用 Reducer?
Reducer 是一个函数,它接收先前的状态和动作,返回新的状态。Reducer 必须是纯函数,这意味着它必须是无副作用的,也就是说,它必须返回一个新的对象,而不是修改传入的参数。 Reducer 可以通过 Redux 提供的 createStore
方法来创建,如下所示:
javascript
import { createStore } from'redux';
const initialState = {
counter: 0
};
function counterReducer(state = initialState, action) {
switch (action.type) {
case 'INCREMENT':
return { // 返回一个新的对象
counter: state.counter + 1
};
case 'DECREMENT':
return {
counter: state.counter - 1
};
default:
return state;
}
}
const store = createStore(counterReducer);
在上面的代码中,我们定义了一个名为 counterReducer
的 Reducer 函数,它接收先前的状态 state
和动作 action
,并返回新的状态。 Reducer 函数通过 switch
语句来处理不同的动作,并返回新的状态。在这个例子中,我们定义了两个动作 INCREMENT
和 DECREMENT
,分别用来增加和减少计数器的值。 最后,我们通过 createStore
方法创建 Redux 存储,并传入 counterReducer
函数作为参数。
总结
Reducer 是 Redux 中用于管理状态的函数。它是一个纯函数,接收先前的状态和动作,返回新的状态。Reducer 必须是纯函数,这意味着它必须是无副作用的,也就是说,它必须返回一个新的对象,而不是修改传入的参数。这就保证了 Redux 的状态是只读的,这也是 Redux 架构的核心。