我正在将数据(对象)提取到redux状态,并在用户单击编辑时显示到文本区域:
const regionData = useSelector((state) => state.myReducer.userDetailList.region);
但第一次它给我以下错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'region')
当我按照eslint的建议更改代码时,也会出现此错误:
i.e.
Use an object spread instead of `Object.assign` eg: `{ ...foo }`
旧代码:
return Object.assign({}, state, {
userDetailList: {
region: action.userDetailsPayload.region,
},
});
新代码:
const userDetailList = {
region: action.userDetailsPayload.region,
};
return { ...state, ...userDetailList };
结果userDetailList在Chrome redux-devtool中显示为空。它使用旧代码(Object.assign)
我是新的React和redux,所以任何帮助都非常感谢。谢谢!
1条答案
按热度按时间xxe27gdn1#
最后我发现如果我在我所维滕的州名或减速器名的末尾使用“减速器”或“州”,my code runs with error
未捕获的类型错误:无法读取未定义的属性(阅读'result_201')
我的还原剂:
以及我用于定义CobineReducer和RoutState的index.tsx文件:
当我想访问另一个文件中的状态时,它会运行并显示该错误:
但如果我删除“State”和“Reducer”项,并将index.tsx文件更改为:
现在起作用了!:)