arctic07
@arctic07

Как вывести данные из fetch?

function App() {
  fetch('https://jsonplaceholder.typicode.com/posts/')
    .then((response) => response.json())
    .then((data) => setData(data));

  let array = [];

  const setData = (data) => {
    array.push(data);
  };

  console.log(array);

  const titles = array.map((item) => <li>{item.title}</li>);

  return (
    <div className='App'>
      <header className='App-header'>111</header>
      <ul>{titles}</ul>
    </div>
  );
}

export default App;


Вроде как запись в массив array происходит. Но если вывести в консоли array[0] - выводит undefined.
JwRvieQ.png

Как сделать вывод?
смысл как это написать в ванильном JS как вывести данные из фетча.

пс вопрос на деле не про реакт...
  • Вопрос задан
  • 4355 просмотров
Пригласить эксперта
Ответы на вопрос 2
@yarnstart
Превозмогание и React
Почитайте про промисы, console.log(array); выполнится раньше, чем вы запишите что-то в массив.
Если вы хотите писать асинхронный код синхронно (как сейчас у вас), вам нужно использовать async\await
Ответ написан
@ArturFirst
const app = async () => {
  const obj = await fetch('https://jsonplaceholder.typicode.com/posts/');
  const result = await obj.json();
  console.log(result[0])
}

app()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы