Будешь ли валидировать ошибки от Backend на каждый запрос или глобально

Ответ

Лучше комбинировать оба подхода.

Глобально — обрабатывай стандартные ошибки (401, 403, 500) в HTTP-интерсепторе. Например:

axios.interceptors.response.use(
  (response) => response,
  (error) => {
    if (error.response.status === 401) {
      redirectToLogin();
    }
    return Promise.reject(error);
  }
);

Локально — обрабатывай специфичные ошибки (например, валидация формы) прямо в запросе:

try {
  const res = await api.post('/signup', data);
} catch (error) {
  if (error.response.status === 400) {
    setFieldErrors(error.response.data.errors);
  }
}

Такой подход обеспечивает гибкость и избегает дублирования кода.