首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将对象添加到现有数组中?反应

如何将对象添加到现有数组中?反应
EN

Stack Overflow用户
提问于 2020-05-31 04:21:07
回答 2查看 187关注 0票数 0

最近,我开始在proyect中工作,我注意到我需要一些方法来修改一个值,而不会失去以前的状态。基本上和数组一起工作。但是我不知道该怎么做。有人能帮我告诉我如何修改状态吗(顺便说一下,我用的是反应钩子.)若要向数组中的前一个状态添加更多值,请执行以下操作?

很抱歉没有贴出代码之类的东西,我甚至不知道怎么写。

提前谢谢你。

EN

Stack Overflow用户

回答已采纳

发布于 2020-05-31 05:27:14

使用ES6扩展运算符将新对象推送到现有数组。

向Array添加新对象:

代码语言:javascript
运行
复制
const [todo, setTodo] = useState([{ task: "Todo 1" }]);

const addTodo = () => {
    let newTodoTask = { task: `Task ${todo.length + 1}` };

    setTodo(tasks => [...tasks, { ...newTodoTask }]);
};

修改数组中的对象:

代码语言:javascript
运行
复制
const editTask = (e, taskId = 0) => {
    setTodo(tasks =>
      tasks.map((task, idx) =>
        idx === taskId ? { task: "Edited Todo 1" } : { ...task }
      )
    );
};

从数组中删除对象

代码语言:javascript
运行
复制
const deleteTask = (e, taskId = 0) => {
    setTodo(tasks => tasks.filter((task, idx) => idx !== taskId));
};

在这里找到简单的工作示例。

https://codesandbox.io/s/unruffled-elgamal-h7fhg?file=/src/App.js:482-593

首先,在开始执行项目之前学习基本的ES6。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62111525

复制
相关文章

相似问题

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