Наследует все правила из Общего стиля кода.
| Правило | Плохо | Хорошо |
| React компоненты должны состоять не более, чем из 100 строк. | | |
| Файлы должны состоять не более, чем из 250 строк. | | |
| Именованные экспорты предпочтительнее. | export default «Hello World»; | export const helloWorld = «Hello World»; |
| Явное преобразование типа предпочтительнее неявного. | +»1″ | Number(«1») |
| В случае, если тестовый файл находится в одной папке с самим компонентом, то использовать такое наименование для него <ComponentName>.spec.tsx; В случае, если тестовый файл находится в отдельной папке, то такое <ComponentName>.test.tsx. | | |
| Компонент должен иметь unit test файл. | | |
| Использовать `if` вместо `&&` за исключением JSX. | flag && doSmth(); | if (flag) { doSmth(); } |
| | function Component() { return <Wrapper> {flag && <OtherComponent />} <Content /> </Wrapper> } | |
| Избегать использования значений для отступов, состоящих из 4-х цифр. | padding: 0 0 0 5px; | padding: 0; padding-left: 5px; |
| БЭМ методология для именования CSS классов (https://en.bem.info/methodology/) | <div class=»container»> <p class=»description«>Lorem Ipsum</p> <p class=»additional-description«>Ipsum Lorem</p> </div> | <div class=»container»> <p class=»container__description«>Lorem Ipsum</p> <p class=»container__description container__description_additional«>Ipsum Lorem</p> </div> |