Javascript 每次操作后都会清除Redux存储

Javascript 每次操作后都会清除Redux存储,javascript,react-native,redux,react-redux,Javascript,React Native,Redux,React Redux,我是个新手,不知道该怎么做 不知何故,每次操作后,我的整个存储都会被完全清除,只执行当前操作。我将用行动日志的截图来描述情况 这是我的行动 function writeProduct(id) { return { type: 'WRITE_PRODUCT', id } } 这是我的减速机 case 'WRITE_PRODUCT': console.log("WRITE PRODUCT ACTION: ", action); con

我是个新手,不知道该怎么做

不知何故,每次操作后,我的整个存储都会被完全清除,只执行当前操作。我将用行动日志的截图来描述情况

这是我的行动

function writeProduct(id) {
    return {
        type: 'WRITE_PRODUCT',
        id
    }
}
这是我的减速机

case 'WRITE_PRODUCT':
    console.log("WRITE PRODUCT ACTION: ", action);
    console.log("state: ",state);
    return {
        productID: action.id
    };
这是
writeProduct
操作的
分派期间的控制台日志

我做错了什么?为什么每次发送后都会覆盖上一个存储


请帮帮我,您正在覆盖减速器中以前的状态。 您应该包括所有以前的状态,并且只更改减速器应该更改的内容

例如。 在减速器中:

return {
    ...state,
    productID: action.id
};
请注意
…state
部分,其中包括结果中以前的所有状态


此外,您的action对象不符合FSA,您可能也应该了解这一点。

您正在覆盖reducer中以前的状态。 您应该包括所有以前的状态,并且只更改减速器应该更改的内容

例如。 在减速器中:

return {
    ...state,
    productID: action.id
};
请注意
…state
部分,其中包括结果中以前的所有状态


另外,您的action对象不符合FSA,可能也应该了解这一点。

嗯,我不知道为什么整个商店都被摧毁了,但是

case 'WRITE_PRODUCT':
console.log("WRITE PRODUCT ACTION: ", action);
console.log("state: ",state);
return {
    productID: action.id
};
应该是

case 'WRITE_PRODUCT':
 console.log("WRITE PRODUCT ACTION: ", action);
 console.log("state: ",state);
return {
    ...state,
    productID: action.id
};
```
状态
被传递给你的reducer函数

hmmm我不知道为什么整个商店都被清除了,但是

case 'WRITE_PRODUCT':
console.log("WRITE PRODUCT ACTION: ", action);
console.log("state: ",state);
return {
    productID: action.id
};
应该是

case 'WRITE_PRODUCT':
 console.log("WRITE PRODUCT ACTION: ", action);
 console.log("state: ",state);
return {
    ...state,
    productID: action.id
};
```
state
被传递给你的reducer函数

你应该返回你的状态而不是productive如果你没有使用
combinereducer
,你需要处理合并属性。如果你只有一个ruducer,那么覆盖状态将覆盖存储。有一个优秀的视频系列解释redux是如何工作的。是解决此特定问题的起点。您应该返回您的状态,而不是产品。如果您没有使用
合并还原程序
,则需要处理合并属性。如果您只有一个还原程序,则覆盖状态将覆盖存储。有一个优秀的视频系列介绍redux的工作原理。这是你应该开始讨论这个问题的地方。谢谢,伙计。我不知道行动后整个商店都被清理了。它解决了我的问题。我当然需要更多地了解Redux。现在,我将更详细地查看您建议的链接和其他文档。祝你一天愉快。谢谢,伙计。我不知道行动后整个商店都被清理了。它解决了我的问题。我当然需要更多地了解Redux。现在,我将更详细地查看您建议的链接和其他文档。祝您今天过得愉快。