【发布时间】:2021-04-16 15:46:06
【问题描述】:
你好 stackoverflow 我有一个反应原生的问题,我正在开发我的功能,允许我喜欢一个帖子,但是当我将我的 id 推送到我的数组上时,我的控制台是空的。 要查看我的表格,我必须再次单击另一个帖子,以便我的第一个 ID 显示在我的表格中。
这是我的代码
const [liked, setLiked] = useState([])
const arr = []
const Like = (item) => {
if (liked.indexOf(item) === -1) {
const newArr = [...liked]
newArr.push(item)
setLiked(newArr)
console.log(liked)
console.log("ADD ID")
}
}
const removelike = (item) => {
if (liked.indexOf(item) >= 0) {
console.log(liked.indexOf(item))
const DeleteID = liked
DeleteID.splice(item, 1)
setLiked(DeleteID)
console.log("Delete ID")
}
}
【问题讨论】:
-
Splice 需要一个起始索引和一个删除计数(不是元素)。尝试将您的
removeLike正文简化为setLiked(liked.filter(l => l !== item)); -
我使用 indexof 更正我的代码以检索我的索引,谢谢
标签: react-native