我有一组联系人,需要找到他们的 ID,以便我可以专门编辑一个联系人。我似乎找不到该联系人的 ID。
const index = contactsEditedUpdated.findIndex(el => el.id === find);
这条线不起作用。我想将 el.id 分配给 idContact。
const editContact = (contactObj, find) => {
fetch("http://localhost:4000/data", {
contactObj,
method: "POST",
body: JSON.stringify(contactObj),
headers: {
"Content-Type": "application/json"
}
})
.then(res => res.json())
.then(res => {
const contactsEditedUpdated = [...contactList];
const index = contactsEditedUpdated.findIndex(el => el.id === find);
contactsEditedUpdated[index] = find;
setContactsEdited(contactList);
console.log("Good job! u updated ur contact!", res);
})
.catch(error =>
console.error("Uuuu, u messed up! could not update", error)
);
};
预期的结果应该是我得到了我想要编辑的元素的id。到目前为止,我只能获取通过表单输入的元素的 id。
最佳答案
首先,您应该阅读 SOLID 原则;特别是单一责任原则。 https://codeburst.io/understanding-solid-principles-single-responsibility-b7c7ec0bf80
您应该在单独的函数中执行以下操作 - 获取数据 - 搜索联系人ID - 更新数据
在数据操作中,您似乎将原始 contactList
传递给 setContactsEdited
函数,从而使您的 contactsEditedUpdated
变得无关紧要。
我很难判断您想用 contactsEditedUpdated
做什么。如果您需要更多帮助,您需要提供有关 contactList
来自何处以及它是什么类型的数据结构的更多信息/上下文。
关于javascript - 如何找到我想要编辑的联系人 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57671781/