javascript - UseState 如何将数组设置回空?

标签 javascript arrays reactjs react-hooks use-state

我正在尝试使用 Hook 将 clickFavIconArray 设置回空数组。

基本上,setClickFavIconArray 有一个 ID 列表,showFavIcon() 检查该 ID,如果它包含相同的 ID,我想将其从数组中删除并更新setClickFavIconArray 到新数组。

但是,无论如何,它似乎只是添加到原始的 clickFavIconArray 中。有没有办法将 clickFavIconArray 状态清除回 [] 空数组?

这里的一些帮助会很棒。

const [clickFavIconArray, setClickFavIconArray] = useState([]);

    function showFavIcon(id){
        if (clickFavIconArray.includes(id)) {
            const newArray = clickFavIconArray.filter(item => !id.includes(item))
            setClickFavIconArray(newArray)
        }
            setClickFavIconArray([...clickFavIconArray, id])
    }

最佳答案

只需将空数组的新值传递给 setClickFavIconArray():

setClickFavIconArray([])

关于javascript - UseState 如何将数组设置回空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68705743/

相关文章:

javascript - 循环内的 NodeJS fs.stat

javascript - react native : How to individually control each onpress() from map() generated components

PHP - 在数组中搜索,如果有肯定结果,则将属性添加到原始数组

python - 从数据帧创建数组,以一列值作为引用

css - 使用 Flexbox 和 Material UI 使 Item 位于底部

reactjs - 是否可以通过使用 HOC(高阶组件)在类组件中使用 React Hooks?

reactjs - React 无法设置未定义的属性

javascript - ECharts:改变线条颜色

javascript - Typescript:打开对象类型不起作用

iphone - 如何在 IBOutletCollection 中隐藏一堆标签?