Насколько глубоко нужно использовать TypeScript в React
Изучила основы ts, понимаю, что кода мы создаём переменные мы используем типы данных, но вопрос нужно ли всегда указывать вот такие специфичные типы данных функций React.ChangeEvent или это лишние и достаточно, просто только указывать типы данных переменных? Также проблема, где можно найти все такие обозначения для функций React.
const [dinput, setDinput] = useState<string>('TS Input проверка')
const tsinput = (event: React.ChangeEvent<HTMLInputElement>) => {
setDinput(event.target.value);
}
<input onChange={tsinput}
placeholder="TS Input проверка"
/>
Ответы (1 шт):
Все зависит от настройки вашей среды разработки и файла tsconfig. Если TypeScript понимает что условный объект является объектом с правильными ключами, то не надо аннотировать его типы. В данном примере всегда нужно аннотировать чтобы TypeScript знал это синтетический event реакта и не вывел его как any.
Книга Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений.
Стр 24.
Если вы хотите чтобы TypeScript вывел за вас типы, то просто не прописывайте их:
let a = 1 // а является number
let b = 'hello' // b является string
let c = [true, false] // c является массивом booleans
Вы сразу убедитесь, насколько хорошо он справляется с этой задачей. Убрав аннотации, вы увидите, что типы остались прежними. На протяжении всей книги мы будем использовать аннотирование только по необходимости и позволим TypeScript демонстрировать свои волшебные способности.
В большинстве случаев лучше позволить TypeScript выводить типы по мере его возможностей и снижать тем самым объем явно аннотированного кода до минимума.