0
我有一个反应本机应用程序,我在IOS模拟器中运行。在初始化时,它读取解析数据库,并使用下面的减速填充一个终极版的数据存储:Redux减速器呕吐间歇性错误
export default function items(state = [], action) {
switch (action.type) {
case types.ADD_ASSIGNMENT:
return [
...state,
{
assignmentId: action.assignmentId,
shopperId: action.shopperId,
itemId: action.itemId,
createdAt: action.createdAt
}
];
case LOGOUT_SUCCESS:
return [];
default:
return state;
}
}
当我反复运行的应用程序,它具有以下Redux的记录器错误而失败的大约1 3次:
action ADD_ASSIGNMENT @ 19:02:09.732
prev state Object {router: Object, auth: Object, device: Object, global: Object, profile: Record…}
action Object {type: "ADD_ASSIGNMENT", assignmentId: "oNncJdVT16", shopperId: "aoieAPH6ll", itemId: "gza3038iPN", createdAt: Tue Feb 09 2016 11:43:48 GMT-0500 (EST)}
error TypeError: Cannot read property 'itemId' of null(…)
next state Object {router: Object, auth: Object, device: Object, global: Object, profile: Record…}
assignments: Array[1]
0: Object
assignmentId: "oNncJdVT16"
createdAt: Tue Feb 09 2016 11:43:48 GMT-0500 (EST)
itemId: "gza3038iPN"
shopperId: "aoieAPH6ll"
请注意错误如何指出itemId为null,但该操作实际上包含非null的itemId。下一个状态看起来是正确的,但应用程序在遇到此错误后不会恢复(不幸的是,它不会提供附加信息的红色屏幕)。
我还抓获显示没有任何错误同样的动作相同Redux的记录器事件:
action ADD_ASSIGNMENT @ 19:01:50.601
prev state Object {router: Object, auth: Object, device: Object, global: Object, profile: Record…}
action Object {type: "ADD_ASSIGNMENT", assignmentId: "oNncJdVT16", shopperId: "aoieAPH6ll", itemId: "gza3038iPN", createdAt: Tue Feb 09 2016 11:43:48 GMT-0500 (EST)}
next state Object {router: Object, auth: Object, device: Object, global: Object, profile: Record…}
assignments: Array[1]
0: Object
assignmentId: "oNncJdVT16"
createdAt: Tue Feb 09 2016 11:43:48 GMT-0500 (EST)
itemId: "gza3038iPN"
shopperId: "aoieAPH6ll"
如何procced有什么建议?
这并不是说itemId为空。它说它不能访问空对象的itemId属性。在你试图访问'itemId'属性的代码中还有其他地方吗? –