Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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状态下对数组进行变异_Reactjs_Redux_React Redux_Redux Thunk - Fatal编程技术网

Reactjs 我无法在Redux状态下对数组进行变异

Reactjs 我无法在Redux状态下对数组进行变异,reactjs,redux,react-redux,redux-thunk,Reactjs,Redux,React Redux,Redux Thunk,我无法在initialState(winArray[])中对数组进行变异。 这里我从组件级别获取有效负载。有效负载有两个值,一个是id,另一个是value,这里我使用id作为索引,在该索引处将值插入到winArray。 有人能帮我在州里变异数组吗 import {createSlice} from '@reduxjs/toolkit'; const initialState={ winArray:['','','','','','','','',''] } const gameWinSlice

我无法在initialState(winArray[])中对数组进行变异。 这里我从组件级别获取有效负载。有效负载有两个值,一个是id,另一个是value,这里我使用id作为索引,在该索引处将值插入到winArray。 有人能帮我在州里变异数组吗

import {createSlice} from '@reduxjs/toolkit';

const initialState={
winArray:['','','','','','','','','']
}
const gameWinSlice=createSlice({
    name:'gameWin',
    initialState:initialState,
    reducers:{
        winStatus(state,action){
            const id=+action.payload.id
           let temp=[...state.winArray];
            temp[id]=action.payload.value;
            temp.splice(id,0,action.payload.value);
            console.log(state.winArray)
         return{
             ...state,
             winArray:temp
         }
       
        }
    }
});

export const gameWinActions =gameWinSlice.actions
export default gameWinSlice;

在createSlice Reducer中,您只需执行以下操作

state.winArray[+action.payload.id]=action.payload.value;

也可以在文档中看到

嗨,@phry非常感谢!!用于响应,但它不起作用☹️ .你确定是这个零件坏了吗?您是否已在Redux开发工具中验证该操作已调度且存储区不工作?