gpt4 book ai didi

javascript - 在现有数组中添加数组中的新对象

转载 作者:行者123 更新时间:2023-11-28 16:57:58 24 4
gpt4 key购买 nike

我的 React 应用程序中使用 hooks 和 es6 有 CRUD 功能。我也在使用 AntDesign 列表组件。在我的添加函数中,第一次添加后,预计它已添加到列表中。

enter image description here

但是在创建另一个数组之后,它只是替换现有的数组。它没有像索引 1 那样添加。它始终是索引 0。

enter image description here

这是我的代码

const leaveTypeList = [];
const [isLeaveType, setLeaveType] = useState(leaveTypeList);

useEffect(() => {
setLeaveType(leaveTypeList);
}, [setLeaveType]);

const payload = {
leaveTag: values.leaveTag,
leaveTagColor: values.leaveTagColor,
hexCode: state.tagColor,
dateCreated: formatLeaveTypeDate,
};

leaveTypeList.push(payload);
setLeaveType(leaveTypeList);

enter image description here

最佳答案

嘿,因为您需要向数组添加新项目,所以不需要 useEffect Hook

const leaveTypeList = [];
const [isLeaveType, setLeaveType] = useState(leaveTypeList);

const payload = {
leaveTag: values.leaveTag,
leaveTagColor: values.leaveTagColor,
hexCode: state.tagColor,
dateCreated: formatLeaveTypeDate,
};

setLeaveType([...isLeaveType,payload]);

您可以简单地使用 setter 设置新状态,通过向现有数组添加新的有效负载来更新现有数组。

关于javascript - 在现有数组中添加数组中的新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58572593/

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