React
Používejte funkcionální komponenty
Vždy používejte funkcionální komponenty TSX. Nepoužívejte implicitníimport s const, protože je obtížnější číst a importovat s automatickým dokončováním kódu.
Vlastnosti
Vytvořte typ rekvizit a pojmenujte jej(ComponentName)Props, pokud není potřeba jej exportovat.
Použijte destrukturalizaci rekvizit.
Upusťte od používání React.FC nebo React.FunctionComponent k definování typů rekvizit
Nepoužívejte rozbalení jediného objektu rekvizit v prvcích JSX
Vyhněte se používání rozbalení jediného objektu rekvizit v prvcích JSX, například{...props}. Tato praxe často vede k tomu, že kód je méně čitelný a obtížnější udržovat, protože není jasné, které rekvizity komponenta přijímá.
- Na první pohled je jasné, které prop kód předává, čímž je snazší pochopit a udržovat.
- Pomáhá to předcházet těsnému provázání mezi komponentami prostřednictvím jejich rekvizit.
- Lintovací nástroje usnadňují identifikaci překlepů nebo nepoužívaných rekvizit, když rekvizity uvádíte explicitně.
JavaScript
Používejte operátor nullish-coalescing ??
Používejte volitelné zřetězení ?.
TypeScript
Používejte type místo interface
Vždy používejte type místo interface, protože se téměř vždy překrývají a type je flexibilnější.
Používejte textové literály místo výčtů
Textové literály jsou preferovaný způsob pro zpracování hodnot podobných výčtům v TypeScriptu. Jsou snadněji rozšířitelné pomocí Pick a Omit a nabízejí lepší uživatelský zážitek, zejména s automatickým dokončováním kódu. Proč TypeScript doporučuje vyhnout se výčtům zjistíte zde.GraphQL a interní knihovny
Měli byste používat výčty, které generuje kód generátor GraphQL. Je také lepší používat výčet při používání interní knihovny, aby interní knihovna nemusela vystavovat textový typ neusouvisející s interním API. Příklad:Styling
Používejte StyledComponents
Styling komponenty s styled-components.Theming
Využití tématu pro většinu stylování komponent je preferovaný přístup.Jednotky měření
Vyhýbejte se používání hodnotpx nebo rem přímo ve stylizovaných komponentách. Potřebné hodnoty jsou obvykle již definovány v tématu, takže se doporučuje využívat je pro tyto účely.
Barvy
Zdržte se zavádění nových barev; místo toho použijte existující paletu z tématu. Pokud by došlo k tomu, že paleta neodpovídá, prosím nechte komentář, aby to tým mohl napravit.Prosazování Zákazu Importů Typů
Vyhýbejte se typovým importům. K prosazení tohoto standardu pravidlo ESLint kontroluje a hlásí jakékoli typové importy. To pomáhá udržovat konzistenci a čitelnost v TypeScript kódu.Proč Zákaz Importů Typů
- Konzistence: Vyhýbáním se importům typů a použitím jednotného přístupu pro importy typů i hodnot zůstává kódová základna konzistentní ve svém stylu importů modulů.
- Čitelnost: Importy bez type zlepšují čitelnost kódu tím, že je jasné, zda importujete hodnoty nebo typy. Tím se snižuje dvojznačnost a usnadňuje pochopení účelu importovaných symbolů.
- Udržovatelnost: Zvyšuje udržovatelnost kódové základny, protože vývojáři mohou při revizi nebo úpravách kódu identifikovat a najít importy pouze typů.
Pravidlo ESLint
Pravidlo ESLint,@typescript-eslint/consistent-type-imports, prosazuje standard zákazu importů typů. Toto pravidlo generuje chyby nebo varování pro jakékoli porušení typového importu.
Upozorňujeme, že toto pravidlo konkrétně řeší vzácné okrajové případy, kdy dochází k neúmyslným typovým importům. TypeScript sám odrazuje tuto praxi, jak je uvedeno v poznámkách k verzi TypeScript 3.8. Ve většině případů byste neměli potřebovat používat pouze typové importy.
Aby váš kód splňoval toto pravidlo, spusťte ESLint jako součást svého vývojového pracovního postupu.