Я пытаюсь установить clickFavIconArray
обратно в пустой массив с помощью хука.
В принципе, у setClickFavIconArray
есть список идентификаторов, showFavIcon()
проверяет этот идентификатор, и если он содержит тот же идентификатор, я хочу удалить его из массива и обновить 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(newArray)?