首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React中的useState钩子更新对象

使用React中的useState钩子更新对象
EN

Stack Overflow用户
提问于 2022-04-02 08:37:11
回答 1查看 224关注 0票数 1

我在板变量中有一个对象

初步数据:

代码语言:javascript
复制
const [board, setBoard] = useState({
    lanes: [],
});

{
    lanes: [{
            title: 'Bugs',
            id: 'd83706b0-b252-11ec-8845-ad6b1e4ecd03',
            cards: [{
                id: null,
                title: 'Bug #1',
                description: 'Can AI make memes',
            }, ],
        },
        {
            title: 'Tests',
            id: 'd83706b0-b252-11ec-8845-ad6b1e4ecd04',
            cards: [{
                id: null,
                title: 'Test #1',
                description: 'Can AI make memes',
            }, ],
        },
    ],
};

我想向数组添加一个新元素,但只添加到数组中的第一个元素。其他答案似乎指向必须使用回调模式,但我对此相当陌生。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-02 08:43:51

对于要对useState变量进行的任何修改,必须在"set“函数的内部使用箭头函数。

你可以这样做:

代码语言:javascript
复制
setBoard((currentBoard)=> {
    currentBoard.lanes[0].cards = [...currentBoard.lanes[0].cards, whateverCardYouWantToAdd ]
    return {... currentBoard} //necessary to create a new object because else the hook won't be updated
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71716016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档