Задать вопрос
CoDeR2006
@CoDeR2006
TS

Как правильно использовать 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.

Кто может подсказать любую информацию, как это правильно сделать, как делают другие, и тд. Спасибо)
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
export type IQuestionsFilter = 'New' | 'Interesting' | 'Not Answer'
interface позволяют определять только типы для объектов и функций, type в этом плане более гибкий.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽