Встречается на собеседованиях • сегодня
Как создать бесконечный scroll на React
Для реализации бесконечного скролла в React можно использовать Intersection Observer API. Вот пример с хуками:
```jsx
import { useState, useEffect, useRef } from 'react';
function InfiniteScroll({ fetchMore }) {
const [items, setItems] = useState([]);
const [page, setPage] = useState(1);
const loaderRef = useRef(null);
useEffect(() => {
const observer = new IntersectionObserver((entries) => {
if (entries[0].isIntersecting) {
fetchMore(page).then(newItems => {
setItems(prev => [...prev, ...newItems]);
setPage(prev => prev + 1);
});
}
});
if (loaderRef.current) {
observer.observe(loaderRef.current);
}
return () => observer.disconnect();
}, [page, fetchMore]);
return (
{items.map(item =>
);
}
```
Ключевые моменты:
1. Intersection Observer следит за появлением элемента-триггера в viewport
2. При срабатывании загружаем новые данные
3. Важно очищать observer при размонтировании
4. Можно добавить debounce для оптимизации{item.content}
)}
Loading...

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы