fetch является асинхронным, что означает, что он возвращает обещание.
const data = fetch('https://jsonplaceholder.typicode.com/photos')
.then(response => response.json())
.then(json => console.log(json));
константа data
здесь равна Promise
.который ожидает разрешения, чтобы заставить ваш код работать, вы должны либо использовать async/await
, например, так:
const data = await fetch('https://jsonplaceholder.typicode.com/photos')
.then(response => response.json())
.then(json => console.log(json));
, и вам также нужно будет добавить ключевое слово async
в вашу верхнюю функцию, которая оборачиваетсяваш код, но если это веб-сайт, вам нужно будет использовать babel, чтобы он работал во всех браузерах.
другой вариант - использование метода обратного вызова, но вам придется выполнить некоторую переписку, но вотначало:
fetch('https://jsonplaceholder.typicode.com/photos')
.then(response => response.json())
.then(data => {
const currentPhotos = data.slice(firstPage, lastPage);
const renderPhotos = currentPhotos.map((photo) => {
return <tr key={photo.id}>
<td className="number">{photo.title}</td>
</tr>
});
});