React Не может прочитать свойства неопределенного (чтение «карты»)

#reactjs #react-hooks #react-dom

#реагирует на #реагируют-крючки #реагировать-дом

Вопрос:

Я получаю эту ошибку: «Ошибка типа: Не удается прочитать свойства неопределенного (чтение» карты») » в моем коде, и я вообще не уверен, почему, кажется, у меня нет ошибок в самой среде разработки кода, и я проверял это много раз Спасибо за чтение!

 const { user } = useAuth0();  const [{songs, setSongs}] = useState([])   useEffect(() =gt; {  if (user) {  const requestOptions = {  method: 'GET'  };  let url = 'https://present-deck.com/getsongs/'   user.sub  fetch(url, requestOptions)  .then(response =gt; {  return response.json();  }).then(jsonResponse =gt; {  setSongs(jsonResponse)  }).catch (error =gt; {  console.log(error);  })   console.log(songs)  }  }, [user])  return (  lt;gt;  lt;ulgt;  {songs.map((el) =gt; (  lt;li key={el} className="tailwindCssStuff"  onClick={ () =gt; {if (listedSongs.indexOf(el.title) === -1){  addListedSongs(listedSongs.concat(el.title))}}}gt;  {el.title}lt;/ligt;  ))}  lt;/ulgt;  lt;/gt;  ) }```  

Комментарии:

1. Опечатка: const [{songs, setSongs}] = должно быть const [songs, setSongs] = .

Ответ №1:

 const [{songs, setSongs}] = useState([])  

должно быть const [songs, setSongs] = useState([])

Комментарии:

1. Большое вам спасибо, что это сработало!

Ответ №2:

У вас есть ненужный набор скобок при деструктурировании вашего состояния, что приводит к вашему songs и setSongs бытию undefined .

Вместо этого вы хотите:

 const [songs, setSongs] = useState([])