react · patrickjs — правило для Cursor: стандарты React-компонентов
Правило задаёт агенту Cursor соглашения по React: структура компонентов, хуки, состояние, формы и доступность. Пригодится, когда в проекте много .tsx и .jsx и хочется единый стиль.
.cursor/rules/react.mdcЧто делает react
Это файл .cursor/rules/react.mdc с набором правил, по которым агент пишет и правит React-код. Разделы охватывают структуру компонентов, хуки, управление состоянием, производительность, формы, обработку ошибок, тесты, доступность и организацию файлов. Например, функциональные компоненты вместо классов, кастомные хуки для переиспользуемой логики, useReducer для сложного состояния, React.memo и мемоизация для дорогих компонентов, контролируемые поля ввода.
Правило применяется не ко всему проекту: в globs прописаны **/*.tsx, **/*.jsx и components/**/*. То есть в файлах вроде utils/api.ts или конфигов агент эти указания не подхватит — это стоит учитывать, если ждёте единых требований по всему репозиторию. Флаг alwaysApply выставлен в false, значит правило срабатывает по совпадению с масками, а не постоянно.
Внутри нет скриптов и внешних зависимостей — только текст с рекомендациями. Тесты описаны через React Testing Library, доступность через семантический HTML и ARIA. Если в проекте другой стек тестирования, часть пунктов придётся поправить под себя.
Какие задачи решает
- задать агенту единый стиль React-компонентов
- разбить крупный компонент на мелкие части
- вынести повторяющуюся логику в кастомный хук
- убрать лишние ререндеры через мемоизацию
- добавить проверку форм и состояния загрузки
Примеры запросов агенту
- Разбей этот компонент на мелкие и вынеси логику в кастомный хук
- Добавь мемоизацию там, где компонент перерисовывается зря
- Сделай форму контролируемой и покажи состояние загрузки при отправке
Как установить react
Вручную: положить файлы
.cursor/rules/react.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/react.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/react.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/react.mdВручную: положить файлы
.clinerules/react.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Из того же набора68
Другие версии react
Похожие
Рядом в теме «Фронтенд и UI»
Все правила IDE по теме «Фронтенд и UI» →Вопросы о react
Как установить правило react в Cursor?
Создайте файл .cursor/rules/react.mdc и вставьте в него содержимое правила.
Что делает правило react?
Описывает соглашения по React: структуру компонентов, работу с хуками и состоянием, производительность, формы, обработку ошибок, тесты и доступность. Агент Cursor опирается на них, когда пишет или правит код.
К каким файлам применяется правило?
К тем, что попадают под маски **/*.tsx, **/*.jsx и components/**/*. Для остальных файлов указания не действуют.
Исходный текст
react.mdc · CC0-1.0
--- description: "React best practices and patterns for modern web applications" globs: **/*.tsx, **/*.jsx, components/**/* alwaysApply: false --- # React Best Practices ## Component Structure - Use functional components over class components - Keep components small and focused - Extract reusable logic into custom hooks - Use composition over inheritance - Implement proper prop types with TypeScript - Split large components into smaller, focused ones ## Hooks - Follow the Rules of Hooks - Use custom hooks for reusable logic - Keep hooks focused and simple - Use appropriate dependency arrays in useEffect - Implement cleanup in useEffect when needed - Avoid nested hooks ## State Management - Use useState for local component state - Implement useReducer for complex state logic - Use Context API for shared state - Keep state as close to where it's used as possible - Avoid prop drilling through proper state management - Use state management libraries only when necessary ## Performance - Implement proper memoization (useMemo, useCallback) - Use React.memo for expensive components - Avoid unnecessary re-renders - Implement proper lazy loading - Use proper key props in lists - Profile and optimize render performance ## Forms - Use controlled components for form inputs - Implement proper form validation - Handle form submission states properly - Show appropriate loading and error states - Use form libraries for complex forms - Implement proper accessibility for forms ## Error Handling - Implement Error Boundaries - Handle async errors properly - Show user-friendly error messages - Implement proper fallback UI - Log errors appropriately - Handle edge cases gracefully ## Testing - Write unit tests for components - Implement integration tests for complex flows - Use React Testing Library - Test user interactions - Test error scenarios - Implement proper mock data ## Accessibility - Use semantic HTML elements - Implement proper ARIA attributes - Ensure keyboard navigation - Test with screen readers - Handle focus management - Provide proper alt text for images ## Code Organization - Group related components together - Use proper file naming conventions - Implement proper directory structure - Keep styles close to components - Use proper imports/exports - Document complex component logic
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules