Встречается на собеседованиях • сегодня

Как отобразить большое количество записей через API

Для эффективного отображения большого количества записей используйте пагинацию или бесконечную подгрузку (infinite scroll).

Пагинация:

jsx
const [data, setData] = useState([]);
const [page, setPage] = useState(1);

const fetchData = async () => {
  const response = await fetch(`/api/data?page=${page}&limit=10`);
  const newData = await response.json();
  setData(prev => [...prev, ...newData]);
};

useEffect(() => {
fetchData();
}, [page]);

text

**Бесконечная подгрузка:**  
```jsx
const observer = new IntersectionObserver((entries) => {
  if (entries[0].isIntersecting) {
    setPage(prev => prev + 1);
  }
});

useEffect(() => {
  if (loaderRef.current) {
    observer.observe(loaderRef.current);
  }
  return () => observer.disconnect();
}, []);

Оптимизации:

  • Виртуализация списков (react-window, react-virtualized)
  • Кеширование данных (React Query, SWR)
  • Ленивая загрузка изображений (loading="lazy")
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы