CoDeR2006
@CoDeR2006
TypeScript

Как правильно использовать interface в TS + React?

Пишу первый + - крупный проект на TypeScript + React и задался вопросом, неужели что бы использовать interface в state нужно записывать данные как объект:
const [filter, setFilter] = useState<IQuestionsFilter>({ filter: 'New' })

и почему нельзя просто написать:
const [filter, setFilter] = useState<IQuestionsFilter>('New')

вот сам interface:
export interface IQuestionsFilter {
  filter: 'New' | 'Interesting' | 'Not Answer'
}

Ну это все бы ничего если бы не приходилось засорять код такими изменениями:
setFilter({ filter: 'New'})

Согласен, что можно было бы написать так:
const [filter, setFilter] = useState<'New' | 'Interesting' | 'Not Answer'>('New')

Но у меня много, где используются эти данные New' | 'Interesting' | 'Not Answer' именно по этому они и в interface.

Кто может подсказать любую информацию, как это правильно сделать, как делают другие, и тд. Спасибо)
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
export type IQuestionsFilter = 'New' | 'Interesting' | 'Not Answer'
interface позволяют определять только типы для объектов и функций, type в этом плане более гибкий.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект
30 апр. 2024, в 23:39
3000 руб./за проект