Вступить в клуб →
средняявопросДанные и сеть: REST, TanStack Query, WebSocket

Меняется фильтр по статусу, а список заказов остаётся прежним

function OrdersTable({ status }) {
  const { data } = useQuery({
    queryKey: ['orders'],
    queryFn: () => fetchOrders({ status }),
  });
  return <Table rows={data} />;
}

Пользователь переключает фильтр со «всех» на «оплаченные», проп status меняется, но новый запрос не уходит, а в таблице старые данные. Почему?

  • status не входит в queryKey — для библиотеки это тот же запрос
  • queryFn замыкает первое значение status и не видит новое
  • useQuery не перерисовывает компонент при смене пропсов
  • Нужно вызвать refetch() в useEffect при смене status

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела