Javascript 为什么我们需要在Redux中从reducer返回状态?
我是Redux新手,试图了解如何正确使用Redux,但我遇到了一个困惑,即为什么我们需要在reducer中返回状态。代码如下:Javascript 为什么我们需要在Redux中从reducer返回状态?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我是Redux新手,试图了解如何正确使用Redux,但我遇到了一个困惑,即为什么我们需要在reducer中返回状态。代码如下: const initialState = { counter: 0 }; const reducer = (state = initialState, action) => { if (action.type === "INCREMENT") { return { counter: state.counter + 1 };
const initialState = {
counter: 0
};
const reducer = (state = initialState, action) => {
if (action.type === "INCREMENT") {
return {
counter: state.counter + 1
};
}
return state; // why do we need to use this code?
};
export default reducer;
基本上,reducer将预定义对象的先前状态作为参数获取,并且函数必须在每种情况下返回对象的新状态 在Redux reducers文档中,您可以看到以下语句: reducer是一个纯函数,它接受前一个状态和一个操作,并返回下一个状态 请在Redux中进一步阅读。如果您看到文档 缩减器指定应用程序的状态如何响应发送到存储的操作而改变。请记住,操作只描述发生了什么,而不描述应用程序的状态如何变化 所以,无论何时调用操作,reducer都必须基于该操作返回一个新状态。 在您的案例中,
(action.type==“INCREMENT)
如果action.type与您的案例不匹配,并且您没有设置任何默认案例,它将返回空值
现在,如果您不返回任何值,您的redux状态将不会提及您的给定状态,这就是为什么需要默认状态来维护reducer存储中的状态数据。因为这是API所要求的吗?@jonrsharpe,请您澄清一下,我不知道该怎么说。redux reducer的API是它返回一个状态。可能会读到我们需要返回状态,以便连接到存储的组件可以获得存储状态,