
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
Create the type of the props and call it(ComponentName)Props if there’s no need to export it.
Use props destructuring.
Upusťte od používání React.FC nebo React.FunctionComponent k definování typů rekvizit
No Single Variable Prop Spreading in JSX Elements
Avoid using single variable prop spreading in JSX elements, like{...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.
- It helps to prevent tight coupling between components via their props.
- Linting tools make it easier to identify misspelled or unused props when you list props explicitly.
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
Refrain from introducing new colors; instead, use the existing palette from the theme. 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ů
- Consistency: By avoiding type imports and using a single approach for both type and value imports, the codebase remains consistent in its module import style.
- Readability: No-type imports improve code readability by making it clear when you’re importing values or types. Tím se snižuje dvojznačnost a usnadňuje pochopení účelu importovaných symbolů.
- Maintainability: It enhances codebase maintainability because developers can identify and locate type-only imports when reviewing or modifying code.
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.
To ensure your code complies with this rule, make sure to run ESLint as part of your development workflow.