Стоит ли React с TypeScript, хотя React с хуками появился?

Мы с командой приступаем к проекту React. В первую очередь мы являемся командой Microsoft, которая имеет многолетний опыт работы с .Net!

Мы были действительно впечатлены React и чувствуем, что идем по этому пути. Мы до смерти перепробовали все варианты Angular, Vue и других.

Поскольку мы все разработчики C#, мы планируем использовать React с TypeScript. В основном по двум причинам

  1. Мы привыкли к строго типизированной основе кода, исходящей из C#, поэтому мы добились большего успеха с React с TypeScript.

  2. База кода может стать довольно большой, и мы планируем совместно использовать компоненты React и интерфейсы TypeScript между командами/проектами через внутренний реестр NPM. Мы думаем, что TypeScript выявит проблемы с вводом текста на раннем этапе, особенно при рефакторинге, и позволит более эффективно делиться информацией.

Я разговаривал с другой командой такого же размера, которая не начинала с TypeScript (или Flow). Они столкнулись с проблемами рефакторинга, когда их решение стало большим и переоснащенным в TypeScript.

В результате я хотел бы начать с TypeScript с первого дня

Тем не менее, я получаю отпор от более ориентированных на Javascript разработчиков. Кто сказал:

  1. TypeScript не требуется в современных приложениях JavaScript ES6.

  2. Более широкое сообщество React не использует TypeScript

  3. Хуки, которые являются новыми для React, дополняют вышеперечисленные пункты

Я забрел в религиозный спор, а не в технический (статическая типизация против динамической), или есть оправданные моменты?

Рад признать, что я новичок в JavaScript по сравнению с моим опытом работы с C#, поэтому я могу полностью упустить суть.

Я думал, что задам вопрос сообществу и узнаю некоторые образованные мнения. Пожалуйста, будьте добры

Сложная бизнес-логика? Нужна ремонтопригодность? Используйте ТС. В противном случае не

Nurbol Alpysbayev 24.03.2019 18:00

Спасибо за быстрый ответ. О да, все это. Сложность, безусловно, является фактором и довольно большой кодовой базой команды x, поэтому удобство сопровождения также очень важно.

user3210699 24.03.2019 18:03

Я лично просто всегда использую TS, чтобы избежать усталости от принятия решений и потому, что в конце концов это всегда окупается.

Nurbol Alpysbayev 24.03.2019 18:08

Это хороший момент. Легче добавить с самого начала, сложнее добавить позже, поэтому добавляйте раньше.

user3210699 24.03.2019 18:11

Скажите людям, сопротивляющимся TypeScript, что они могут либо принять его, либо найти новую работу.

Ian Kemp 24.03.2019 22:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
5
202
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. TypeScript not required in modern ES6 JavaScript applications

Это зависит от того, какие требования. Вы говорите, что ожидаете рефакторинга, у меня есть некоторый опыт рефакторинга моих собственных проектов javascript и TypeScript. Могу сказать, что без TypeScript рефакторинг требует больше усилий — приходится много смотреть на код реализации, просто чтобы понять, что такое интерфейс. Это можно облегчить за счет большого количества документации по API и модульных тестов, но сколько проектов имеют их и сколько проектов поддерживают документацию по API, чтобы она на 100% соответствовала фактическому коду? Аннотации типов — это хороший способ выразить ожидания в коде, и у них есть дополнительное преимущество, которое нужно поддерживать вместе с кодом.

  1. The wider React community does not use TypeScript

Каждый использует то, что лучше для его нужд. На самом деле никакого "сообщества" нет, есть просто куча людей, работающих над разными проектами. То, что подходит для большинства людей, может оказаться не самым лучшим для вас.

  1. Hooks which are new to React compound the points above

последняя версия типов для React, похоже, поддерживает хуки. Результат поиска в Google по запросу «реагировать на хуки с машинописью» показывает, что многие люди используют хуки React с TypeScript. Я не знаю о каких-то конкретных проблемах, но если они есть, есть шанс, что в конце концов они будут решены.

Другие вопросы по теме