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

Сталкивался ли с race condition в React

Да, race condition может возникать в React, особенно при работе с асинхронными операциями (запросами, таймерами). Классический пример — когда пользователь быстро меняет параметры запроса, а ответы приходят в неправильном порядке.

jsx
function UserProfile({ userId }) {
  const [user, setUser] = useState(null);

useEffect(() => {
fetch(/api/users/${userId})
.then(res => res.json())
.then(data => setUser(data));
}, [userId]);

// Если быстро менять userId, может установиться устаревший ответ
}

text

**Решение:**
1. Отмена запросов с помощью `AbortController`
2. Использование флагов или проверок:
```jsx
useEffect(() => {
  let isActive = true;
  fetch(`/api/users/${userId}`)
    .then(res => res.json())
    .then(data => isActive && setUser(data));
  
  return () => { isActive = false; };
}, [userId]);

Для сложных случаев можно использовать библиотеки типа React Query, которые автоматически обрабатывают race condition.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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