Как удалить объект из массива (checked, unchecked) rest api fetch

При клике(чеке) я вызываю массив объектов и записываю в массив, а теперь при (анчеке) нужно удалить эти объекты из массива. Не могу понять где я ошибся, в консоли вызываются те же объекты которые мне нужно удалить. Пробовал так же удалять через delete setCategorySub(result.data);

let getDataCategory = async (event) => {
        let id = event.currentTarget.id;

        if (event.target.checked){

        await fetch(`http://api.tmweb.ru/category?filter[parent_id][in]=${id}&filter[type]=0`,{
            headers: {
                'Accept': 'application/json',
                'Authorization': token,
            },
        })
            .then(res => res.json())
            .then((result) => {
                    setCategorySub([...categorySub,...result.data]);
            })

        }else{

            await fetch(`http://api.tmweb.ru/category?filter[parent_id][in]=${id}&filter[type]=0`,{
                headers: {
                    'Accept': 'application/json',
                    'Authorization': token,
                },
            })
                .then(res => res.json())
                .then((result) => {
                    console.log(result.data)
                    delete result.data;
                })
        }
    }

Ответы (1 шт):

Автор решения: SwaD

Все полученные данные уже хранятся в состоянии компонент. Необходимо удалить элемент с заданным ID из состояния.

const getDataCategory = async (event) => {

  let id = event.currentTarget.id;

  if (event.target.checked) {
    // Тут запрашиваете данные
  } else {
    // Удаляете элемент из состояния
    setCategorySub((prevData) => { //prevData текущее состояние
      return prevData.filter((item) => item.id !== id); // Фильтруем массив и сохраняем как состояние
    })
  }
}
→ Ссылка