К основному содержанию
правило

react · patrickjs — правило для Cursor: стандарты React-компонентов

Правило задаёт агенту Cursor соглашения по React: структура компонентов, хуки, состояние, формы и доступность. Пригодится, когда в проекте много .tsx и .jsx и хочется единый стиль.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/react.mdc
Открыть на GitHub

Что делает 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

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Из того же набора68

snowflake-snowpark-dbt-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту контекст по Snowpark Python и dbt с адаптером Snowflake. Пригодится, когда пишете пайплайны трансформаций в этих двух инструментах. ★ 41 011звёзд репо shopify-theme-dev-liquid Правило для Cursor с набором практик по темам Shopify: Liquid, JavaScript, CSS, доступность и производительность. Пригодится, если пишете тему и хотите, чтобы агент держал структуру. ★ 41 011звёзд репо salesforce-apex-cursorrules-prompt-file Правило для Cursor, которое настраивает ИИ на разработку Salesforce на Apex: очередь вместо @future, паттерны GoF и минимум комментариев. ★ 41 011звёзд репо rtl-right-to-left-i18n-cursorrules-prompt-file Правило Cursor, которое заставляет агента писать CSS и Tailwind по логическим свойствам, а не по left/right. Пригодится, если проект должен работать на арабском, иврите, персидском или урду. ★ 41 011звёзд репо react-typescript-nextjs-nodejs-cursorrules-prompt- Правило для Cursor задаёт стиль кода на React, TypeScript, Next.js 14 и Node.js: функциональные компоненты, RORO, минимум use client. ★ 41 011звёзд репо react-styled-components-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль кода на React со styled-components: функциональные компоненты, тема через ThemeProvider, папка styles. ★ 41 011звёзд репо react-query-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту соглашения по React Query: где держать QueryClient, как называть хуки и ключи запросов. ★ 41 011звёзд репо react-native-expo-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стек и структуру проекта на React Native с Expo. Пригодится, когда нужно, чтобы код в проекте писался единообразно. ★ 41 011звёзд репо

Другие версии react

Похожие

typescript-react-patterns agent-skills Скилл с 33 правилами типизации React на TypeScript: пропсы, хуки, события, refs, дженерики и контекст. Пригодится, когда агент пишет компоненты и лезет в типы. CX Codex +1 1 100установок react-component-architecture aj-geddes Скилл задаёт агенту правила проектирования React-компонентов: функциональные компоненты, хуки, композиция и TypeScript. Пригодится, когда растёт библиотека переиспользуемых компонентов. CX Codex +1 674установок react-router-v7 existential-birds Скилл с практиками React Router v7: подсказывает, когда брать loader, Form или fetcher, и как настраивать вложенные маршруты. CX Codex +1 572установок react-patterns affaan-m Скилл для Claude и других ИИ-редакторов: подсказывает, как писать компоненты React 18/19 — хуки, границы серверных и клиентских компонентов, формы, загрузку данных. CX Codex +1 4 900установок react-server-components patterns.dev Скилл объясняет React Server Components: какие компоненты рендерить на сервере и где ставить 'use client'. Пригодится в Next.js App Router. CX Codex +1 954установок gsap-react Bbeierle12 Скилл с готовыми шаблонами GSAP для React: хук useGSAP, работа с ref и очистка анимаций при размонтировании. CX Codex +1 724установок

Рядом в теме «Фронтенд и 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

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой