После прокрутки мои данные всегда отображаются на странице 2, а страница 1 исчезла, и items.concat не работает.
Получить код данных:
const FetchUrl = async (p) =>{
const Url = await fetch(`api-link=${p}`);
const data = await Url.json();
setItem(data.DataNonProject.data)
}
Код для получения дополнительных данных:
const fetchMoreData = () => {
setTimeout(() => {
setPage(page + 1);
console.info(page);
FetchUrl(page);
setItem(items.concat(Array.from(items)));
}, 100);
// FetchUrl(page);
}
Возвращаемые данные:
{items ?
<InfiniteScroll
dataLength = {items.length}
next = {fetchMoreData}
hasMore = {true}
loader = {<h4>Loading...</h4>}
>
{console.info(items)}
{ items.map((item, index) => (
<div key = {index}>
div {index} - # {item.title}
<br/><br/><br/>
</div>
))}
</InfiniteScroll>
: '' }
Я использую react-infinite-scroll-component



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


const FetchUrl = async (p) =>{
const Url = await fetch(`https://softkomik.site/api/komik-list?page=${p}`);
const data = await Url.json();
setItem(prev => [...prev, ...data.DataNonProject.data])
}
const fetchMoreData = () => {
setTimeout(() => {
setPage(page + 1); // At this point, page state will not be changed because setPage is async function
FetchUrl(page + 1);
}, 100);
}
setItem(prev => [...prev, ...data.DataNonProject.data]);какой тип item? также тип data.DataNonProject.data?
элемент useState const [items, setItem] = useState();
изменить на const [items, setItem] = useState([]);
у меня ошибка
TypeError: Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.. любое решение?