Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux商店更新信息为';t型复卷机_Reactjs_React Native_Redux_React Redux - Fatal编程技术网

Reactjs Redux商店更新信息为';t型复卷机

Reactjs Redux商店更新信息为';t型复卷机,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,按下按钮后,我向减速器发送调度,减速器执行以下操作: export default function (state, action) { case 'UPDATE_DATA': const res = state; res['list'] = [...res['list'], action.payload]; return res; 我使用useSelector钩子访问数据 const select = useSelector(state

按下按钮后,我向减速器发送调度,减速器执行以下操作:

export default function (state, action) {
    case 'UPDATE_DATA':
        const res = state;
        res['list'] = [...res['list'], action.payload];
        return res;
我使用useSelector钩子访问数据

const select = useSelector(state => state);
renderData(select.userInfo.list);

但是,它似乎不会触发更新。这个代码有什么问题


(我尽量减少这个问题。因此,如果您需要更多的代码上下文,只需提问即可。)

here
const res=state
您正在将相同的
状态
引用传递到
res
。这种方式将改变原始对象。当您返回
res
redux时,它将比较res引用和state引用,并将意识到它们是相同的,不能按预期工作

您需要先创建一个州外副本:

const res = { ...state };
这样,您就不会改变原始对象,并且您的redux状态将正确更新