尝试根据 Redux 状态中的类别添加对象
Trying to add objects according to their category in Redux State
我正在尝试通过更新 Web 应用程序的状态来解决这个 Redux 问题。我有一个 Redux 状态,它看起来像:
transcript: [
{ name: 'MATH', parts: ...}
{ name: 'ENGLISH', parts: ...}
]
我有一个来自 API 的数组,其中的每个元素都有一个类别,可以是 'MATH'、'ENGLISH' 等。我正在尝试映射响应中的每个元素并将它们添加到我的 Redux 状态中的特定对象,但是它只是将整个数组设置为 null。
这是我正在使用的代码:
transcript: {
...(state.transcript || {}),
transcript:
payload.map((part) => {
if (state.transcript?.transcript &&
state.transcript.transcript.find(
({ name }) => name === part.category)) {
state.transcript.transcript.map((glance) => {
if (glance.name === part.category) {
console.log(glance, part);
return {
...glance,
parts: [...(glance.parts ?? []), part],
};
} else {
return glance;
}
},
);
} else {
console.log(part);
return [
...(state.transcript?.transcript || []),
{
name: part.category,
parts: [part],
},
];
}
}),
},
如果你能帮我解决这个问题,我将不胜感激!提前谢谢你
transcript: {
...(state.transcript || {}),
transcript:
state.transcript?.transcript?.map((glance) => {
const parts = payload.filter(({ category }) => category === glance.name );
return {
name: glance.name,
parts: [...(glance.parts ?? []), ...parts],
};
}),
},
我正在尝试通过更新 Web 应用程序的状态来解决这个 Redux 问题。我有一个 Redux 状态,它看起来像:
transcript: [
{ name: 'MATH', parts: ...}
{ name: 'ENGLISH', parts: ...}
]
我有一个来自 API 的数组,其中的每个元素都有一个类别,可以是 'MATH'、'ENGLISH' 等。我正在尝试映射响应中的每个元素并将它们添加到我的 Redux 状态中的特定对象,但是它只是将整个数组设置为 null。
这是我正在使用的代码:
transcript: {
...(state.transcript || {}),
transcript:
payload.map((part) => {
if (state.transcript?.transcript &&
state.transcript.transcript.find(
({ name }) => name === part.category)) {
state.transcript.transcript.map((glance) => {
if (glance.name === part.category) {
console.log(glance, part);
return {
...glance,
parts: [...(glance.parts ?? []), part],
};
} else {
return glance;
}
},
);
} else {
console.log(part);
return [
...(state.transcript?.transcript || []),
{
name: part.category,
parts: [part],
},
];
}
}),
},
如果你能帮我解决这个问题,我将不胜感激!提前谢谢你
transcript: {
...(state.transcript || {}),
transcript:
state.transcript?.transcript?.map((glance) => {
const parts = payload.filter(({ category }) => category === glance.name );
return {
name: glance.name,
parts: [...(glance.parts ?? []), ...parts],
};
}),
},