【发布时间】:2019-11-08 00:57:34
【问题描述】:
我喜欢将数组从服务器推送到初始状态的空数组中。 据我所知,使用 immer 来保存数组,
draft.arr.push({a:1, b:2})
但是,我不知道为什么我收到了这条消息
Uncaught (in promise) TypeError: Cannot perform 'get' on a proxy that has been revoke
我尝试使用concat 和push。但我无法得到我想要的。
const initialState : WorkerState = {
workersList : []
}
const workers = handleActions<WorkerState, any>(
{
[GET_WORKERS_LIST]: (state, action: GetWorkersList) => {
return produce(state, draft => {
action.payload.then((res: WorkerInfo[]) => {
res.map(data => {
return draft.workerList.push({
id: data.id,
name: data.name,
email: data.email,
user_type: data.user_type,
address: data.address,
salary: data.salary,
profile_image: data.profile_image,
birth: data.birth,
join_date: data.join_date,
leave_date: data.leave_date,
working_year: data.working_year,
grade: data.grade,
half_vacation: data.half_vacation,
total_year_vacation: data.total_year_vacation,
year_vacation: data.year_vacation,
});
});
});
});
},initialState,
);
【问题讨论】:
标签: reactjs typescript redux immer.js