Reactjs React:上下文挂钩,将对象推入数组
我遇到的错误是Reactjs React:上下文挂钩,将对象推入数组,reactjs,typescript,Reactjs,Typescript,我遇到的错误是找不到名称“objectArray”。 interface StateInterface { objects: { objectArray: object[]; selected: object; }; } const InitialState: StateInterface = { objects: { objectArray: [], selected: {}, }, }; const Reducer = (state: S
找不到名称“objectArray”。
interface StateInterface {
objects: {
objectArray: object[];
selected: object;
};
}
const InitialState: StateInterface = {
objects: {
objectArray: [],
selected: {},
},
};
const Reducer = (state: StateInterface, action: any) => {
switch (action.type) {
case 'SELECTED':
return {
...state,
objects: { ...state.objects, selected: action.value },
};
case 'ADD_OBJECT':
return {
...state,
objects: { ...state.objects, objectArray: objectArray.push(action.value )},
// ^---- Cannot find name 'objectArray'.ts(2304)
};
default:
return state;
}
};
我也试过了
objects: { ...state.objects, objectArray: ...action.value )},
在该点上,只有状态对象在作用域中(作为reducer的参数提供),请尝试在出现错误的点处切换
objectArray
以查看state.objectArray
但是,您还需要不可变地附加值,以使其正确(一个减缩规则),因此您需要使整行代码如下所示:
objects:{…state.objects,objectArray:[…state.objectArray,action.value]},
要使用旧值和正在添加的新值创建一个新数组。只有状态对象在该点的作用域中(作为减速器的参数提供),请尝试在出现错误的点处切换
objectArray
以获得state.objectArray
但是,您还需要不可变地附加值,以使其正确(一个减缩规则),因此您需要使整行代码如下所示:
objects:{…state.objects,objectArray:[…state.objectArray,action.value]},
要使用旧值和正在添加的新值创建一个新数组。objects:{…state.objects,objectArray:[…state.objects.objectArray,action.value]},有没有技巧谢谢你对象:{…state.objects,objectArray:[…state.objectArray,action.value]},有没有技巧谢谢你