Термин “Чистый код” означает не просто код, который работает. Он также означает собой грамотно организованный код, который легко читать, просто понимать и элементарно поддерживать.

Давайте посмотрим на некоторые из лучших практик по чистому коду в React, которые могут отправить удобство по поддержанию Вашего кода в космос!????????

1. Предусмотрите явно заданные типы для всех значений

Достаточно часто при использовании TypeScript многие “забивают” на указание явных типов для значений, таким образом упуская истинную ценность, которую может привнести TypeScript. Часто в кодовой базе можно увидеть вот такое:

Плохой пример 01:

Плохой пример 02:

Вместо этого, надлежащим образом определенный interface может сильно упростить Вам жизнь, когда редактор кода будет выдавать Вам правильные предложения.

Хороший пример:

2. Учитывайте предыдущее состояние при обновлении состояния

Всегда рекомендуется определять обновление состояния как функцию предыдущего состояния, если новое состояние зависит от предыдущего состояния. Обновления состояния в React могут быть сгруппированы, и если не определять Ваши обновления в таком виде, то это может привести к непреднамеренным результатам.

Плохой пример:

Хороший пример:

3. Сохраняйте Ваши файлы компактными и ясными

Если сохранять ваши файлы атомарными и компактными, то это позволит отлаживать, поддерживать и даже находить файлы намного проще!

Плохой пример:

Хороший пример:

4. Используйте Перечисления или Константные Объекты для значений с множественными состояниями

Процесс управления переменными, которые принимают множественные состояния, можно облегчить использованием Перечислений Enums или Константных Объектов Constant Objects.

Плохой пример:

Хороший пример:

5. Как можно больше используйте TSX без TypeScript

Вы спросите, как TSX может использоваться без TypeScript? ????

Все очень просто - здесь мы говорим только о Разметке (Markdown), а НЕ о всем компоненте. Избегая применения функций в разметке, Вы сохраняете ваш компонент более легким для понимания.

Плохой пример:

Хороший пример:

ПРИМЕЧАНИЕ: Если логика укладывается в одну строку, использование ее в TSX является допустимой.

6. Применяйте ясные условные выражения для рендеринга элементов

Условный рендеринг элементов является одной из наиболее типичных задач в React. Таким образом , использование ясных условных выражений является просто необходимым.

Плохой пример:

Хороший пример:

7. Используйте сокращения JSX

Булевы пропсы

Пропсы со значением “true” могут быть переданы в компонент при помощи указания только имени пропса и без указания его значения, например так: truthyProp. Написание его в виде truthyProp={true} является необязательным.

Плохой пример:

Хороший пример:

Строковые пропсы

Значение строкового пропса можно передать в двойных кавычках без использования фигурных скобок или обратных кавычек.

Плохой пример:

Хороший пример:

Пропсы в значении Undefined

Также как в обычном Typescript/Javascript, если в проп не передается значение, то оно будет равно undefined.

Плохой пример:

Хороший пример:

Теперь Вы тоже знаете, как писать чистый TSX!

Комментарии (1)


  1. Fodin
    03.08.2022 19:04
    +1

    4 пункт вполне можно юзать, как
    type TStatus = "Pending" | "Success" | "Error";
    и писать
    const [status, setStatus] = useState<TStatus>("Pending");
    <button onClick={() => setStatus("Pending")}>
    Автоподсказки будут, а чего еще надо?