Встречается на собеседованиях • сегодня
Как реализовать автокомплит с запросом на сервер
Для реализации автокомплита с запросами на сервер используйте `debounce` для оптимизации запросов и избежания лишних вызовов при быстром наборе. Пример на React с хуками:
```jsx
import { useState, useEffect } from 'react';
function Autocomplete() {
const [query, setQuery] = useState('');
const [suggestions, setSuggestions] = useState([]);
useEffect(() => {
const timer = setTimeout(() => {
if (query) {
fetch(`/api/search?q=${query}`)
.then(res => res.json())
.then(data => setSuggestions(data));
}
}, 300); // debounce 300ms
return () => clearTimeout(timer);
}, [query]);
return (
setQuery(e.target.value)}
/>
);
}
```
Ключевые моменты:
1. Используйте `debounce` (в примере через `setTimeout`)
2. Проверяйте пустые запросы
3. Очищайте таймер при размонтировании
4. Добавьте обработку ошибок запроса
5. Для production используйте готовые решения типа `react-select` или `downshift`-
{suggestions.map(item => (
- {item.name} ))}

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