我有一个输入标签的字段。也可以删除标签。我有一个问题。
我的删除代码如下。标签可以按任何顺序(第一个,最后一个,中间的某个位置,无关紧要)一次删除一个。
const deleteTag = (index) => {
setTags((prevState) => prevState.filter((tag, i) => i !== index));
};
但是我想用'splice'代替'filter'。具有相同的功能。告诉我该怎么做
Splice的第一个参数是项目索引,第二个参数是要从该索引中删除的项目数量。
const deleteTag = (index) => {
setTags((prevState) => {
prevState.splice(index, 1)
return [...prevState]
});
};
更新
如果您使用的是<StrictMode>
, setState将执行两次,并将删除两个项目而不是一个。