Включение в React-приложение руководства по стилю программирования, как правило, оказывает большое влияние на процесс разработки. Оно дает представление о структуре и обеспечивает формат, который будет служить образцом для младших разработчиков. Точное следование всем требованиям позволяет сэкономить время в процессе рецензирования, включив в него самое необходимое.
В собственные руководства по стилю я добавил несколько пунктов. Одни из них — просто личные предпочтения, другие способны повлиять на производительность и структуру файлов.
Надеюсь, этот список послужит вам источником вдохновения при написании собственного гайда.
Имена файлов TSX
Имена файлов TSX должны быть в регистре Паскаля. Лучше всего иметь стандарт для именования файлов, чтобы папки легко читались.
Правильно:
MyFile.tsx
Неправильно:
myFile.tsx my-file.tsx my_file.tsx My_File.tsx
Объявление функционального компонента
Я предпочитаю объявления const за их лаконичность. Всегда включайте тип FunctionComponent, чтобы получить доступ к таким свойствам, как дочерние компоненты.
Правильно:
const MyComponent: React.FunctionComponent = () => {}
Неправильно:
const MyComponent = () => {}
function MyComponent() {}
Именованные экспорты
Именованные экспорты следует использовать, когда компонент является частью библиотеки компонентов или любой другой конфигурации с большим количеством подобных экспортов.
export const MyComponent1: React.FunctionComponent = () => {}
export const MyComponent2: React.FunctionComponent = () => {}
Экспорты по умолчанию
Экспорты по умолчанию следует применять, когда компонент используется один раз или если файл имеет один экспорт, не связанный с остальной частью каталога.
const MyComponent: React.FunctionComponent = () => {}
export default MyComponent
Именование useState
Переменные useState должны иметь описательные имена, при этом имя функции обновления должно быть set + {имя переменной}.
Правильно:
const [name, setName] = useState("")
Неправильно:
const [name, updateName] = useState("")
Операторы равенства
При сравнении двух значений всегда используйте ===. В JavaScript оператор ==выполняет приведение типов, следствием чего являются довольно странные ошибки. Например: 1 == “1” будет приравниваться к true (верно).
Правильно:
if (var1 === var2) {}
Неправильно:
if (var1 == var2) {}
Интерфейсы свойств компонентов
При определении интерфейсов для свойств компонентов всегда определяйте переменные первыми, а функции — вторыми, разделяя их пробелом.
Правильно:
interface IProps {
var1: string
var2: boolean
function1(): void
}
const MyComponent: React.FunctionComponent = (props: IProps) => {}
Неправильно:
interface IProps {
var1: string
function1(): void
var2: boolean
}
const MyComponent: React.FunctionComponent = (props: IProps) => {}
Условный рендеринг
При сокращенном способе написания кода для условного рендеринга используйте полный тернарный оператор, а не логический &&. Редко, но все же бывает так, что локальный оператор && возвращает нечетные значения в jsx при выполнении определенных условий.
Правильно:
const MyComponent: React.FunctionComponent = () => {
const authenticated = true
return (
<div>
{authenticated ? <p> You're Logged In </p> : null}
</div>
)
}
Неправильно:
const MyComponent: React.FunctionComponent = () => {
const authenticated = true
return (
<div>
{authenticated && <p> You're Logged In </p>}
</div>
)
}
Читайте также:
- Как использовать дизайн-токены в React — опыт команды Bit
- Переиспользуем соединения OkHttp по-максимуму Журнал
- Различия между псевдонимами типов и интерфейсами в TypeScript 4.6
Читайте нас в Telegram, VK и Дзен
Перевод статьи Jesse Langford, 8 Items I Added To My React + TypeScript Style Guides





