TypeScript · Senior · Запитання 48 з 75

Як типізувати редʼюсер, щоб payload залежав від type дії?

Пояснення

type Action = { type: 'add'; payload: Todo } | { type: 'remove'; payload: { id: string } } - у case 'add' TS знає, що payload - Todo. З never у default отримуємо перевірку повноти. Redux Toolkit генерує такі типи автоматично з createSlice.

Де почитати

Помилка в запитанні

TypeScript · Senior · запитання 48

Перевірте себе

Пройдіть тест TypeScript · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест