【发布时间】:2018-05-09 14:39:22
【问题描述】:
我是 Redux 的初学者,遇到了麻烦。
不知何故,每次操作后,我的整个商店都被完全清除,只执行当前操作。我会用action log的截图来描述一下情况。
这是我的行动:
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
};
这是dispatch 的writeProduct 操作期间的控制台日志。
https://cdn1.imggmi.com/uploads/2018/5/9/c4cfc7debab662dfe241889d86254cd1-full.png
我做错了什么?为什么每次 dispatch 之前的 store 都会被覆盖?
【问题讨论】:
-
你应该返回你的 state 而不是 productID
-
如果您不使用
combineReducers,则需要处理合并属性。 -
如果您只有一个 ruducer,那么覆盖状态将覆盖存储。
-
有一个很好的视频系列解释了 redux 的工作原理。 "Redux: The Reducer Function" 是你应该从这个特定问题开始的地方。
标签: javascript react-native redux react-redux