Встречается на собеседованиях • сегодня
Как происходит валидация данных в RTK Query
RTK Query предоставляет встроенные механизмы валидации через transformResponse и providesTags/invalidatesTags.
transformResponse— позволяет модифицировать или валидировать данные после получения ответа от сервера:
ts
getUsers: build.query({
query: () => 'users',
transformResponse: (response) => {
if (!Array.isArray(response)) throw new Error('Invalid data format');
return response.filter(user => user.isActive);
}
})- Теги (
providesTags/invalidatesTags) — для контроля актуальности кэша. Например, если данные устарели:
ts
providesTags: (result) =>
result ? [...result.map(({ id }) => ({ type: 'User', id })), 'User'] : ['User']- Валидация на уровне мутаций — через
onQueryStartedвendpoints:
ts
async onQueryStarted(arg, { dispatch, queryFulfilled }) {
try {
await queryFulfilled;
} catch (err) {
console.error('Validation failed:', err);
}
}RTK Query не включает встроенные схемы валидации (как Zod или Yup), но легко интегрируется с ними через transformResponse.

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