Skip to content

Instantly share code, notes, and snippets.

@mrhat24
Created May 17, 2022 04:18
Show Gist options
  • Select an option

  • Save mrhat24/06ddad103e43cb441426273c5fd47b4b to your computer and use it in GitHub Desktop.

Select an option

Save mrhat24/06ddad103e43cb441426273c5fd47b4b to your computer and use it in GitHub Desktop.
Typescript migration

Переход на TypeScript:

  • typescript:

    Почему стоит перейти на typescript

    • Статическая типизация:

      • отлов багов до компиляции, позволяет избежать глупых ошибок

        image

      • автокомплит, позволяет быстрее писать код, меньше ошибаться

        image

      • Автокомплит на уровне компонентов - в компонентах четко определены пропсы и их типы, нельзя ошибиться, typescript сразу же ругнется прямо в IDE, с js будет ошибка будет в рунтайме.

      • Такие IDE как webstorm например, позволяют легко рефакторить например пропс компонента во всем проекте, изменяя только интерфейс пропсов. Вообще в typescript рефакторинг в разы быстрее и проще.

    • Большинство enterprise проектов на react используют typescript.

      Компонент на JS:

      image

      Компонент на TS:

      image

      Использование компонентов:

      image

      Итог: Typescript ругается, тк компоненту на TS не передан обязательный пропс, для js ошибки нет, но в рунтайме такой компонент может легко сломаться.

    • Можно реализовать генерацию typescript моделей по swagger документу(если используется на бекенде), в итоге получим легко поддерживаемые модели, при изменении которых достаточно будет запустить проект, чтобы увидеть ошибки и быстро их исправить, а не получить неработающий код на продакшене, потому что какое-то поле переименовали, но забыли изменить в шаблоне.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment