gpt4 book ai didi

javascript - 如何在 JavaScript 中使用扩展运算符更新内部对象数组

转载 作者:行者123 更新时间:2023-12-02 22:07:47 24 4
gpt4 key购买 nike

我的 reducer 中有一个存储,需要更新内部数组对象值:

对于:

export interface SiteState {
site: Site;
}

export interface Site {
id: number | null;
uuid: string;
subscriptions?: (SubscriptionI)[] | null;
}

并且想更新网站->subscriptions[x] = action.payload

//使用解决方案进行编辑

function handle(state: SiteState, action: Successaction): SiteState {
const sub = state.site.subscriptions.map( subs => {
if (subs.uuid === action.payload.uuid) {
return action.payload
} else {
return subs;
}
});
const site = { site: {...state.site, subscriptions: sub} };
return site
}

我尝试了传播运算符,但他只是将我的新订阅推送到根站点,我不知道如何编写它来更新对象 SubscriptionI,它是一个数组。

最佳答案

如果您想完全替换订阅数组,那么您所做的就是正确的。但是,如果您只想将 action.payload 中的任何内容添加到订阅数组中,而不是您需要的:

  const site = {...state.site, subscription**S**: [...state.site.subscription**S**, action.payload]};

关于javascript - 如何在 JavaScript 中使用扩展运算符更新内部对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59664064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com