Rechercher

PythonReactSEOPDF
GitHub Skill

create-react-component

Create a new React component following project best practices

ThousandsOfTies☆ 0 Étoiles du dépôt0 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

Creating a React Component

This skill guides the creation of new React components to ensure consistency, maintainability, and quality across the project.

1. Analysis & Preparation

  • Identify Responsibility: Clearly define what the component does. Is it a UI primitive (atom) or a complex feature (organism)?
  • Determine Location:
    • Shared UI components: src/components/ui/ or src/components/common/
    • Feature-specific components: src/features/<FeatureName>/components/
  • Check Existing: Verify if a similar component already exists to avoid duplication.

2. File Structure

Create a directory with the PascalCase name of the component. Example: src/components/ui/MyComponent

The directory should contain:

  • MyComponent.tsx: The main component implementation.
  • index.ts: Re-export the component (e.g., export * from './MyComponent';).
  • (Optional) MyComponent.css or styles.ts: For styling, depending on the project's styling strategy (e.g., CSS Modules, Styled Components, Tailwind).

3. Implementation Guidelines (The "Gold Standard")

Setup
  • Imports: Group imports: React/Project dependencies -> Local components -> Styles/Utils.
  • Types: Always define a Props interface. Export it if it's likely to be used elsewhere.
Coding
  • Function Component: Use const ComponentName = ... or function ComponentName(...).
  • Props Destructuring: Destructure props in the function signature for readability.
  • Clean Code: Keep the render logic clean. Extract complex logic into custom hooks if proper.
  • Accessibility (a11y): Ensure interactive elements have accessible names (aria-label) and keyboard navigation support.
Example Template (MyComponent.tsx)
import React from 'react';

// Define Props interface
export interface MyComponentProps {
  title: string;
  isActive?: boolean;
  onClick: () => void;
}

/**
 * MyComponent
 * Description of what this component does.
 */
export const MyComponent: React.FC<MyComponentProps> = ({
  title,
  isActive = false,
  onClick,
}) => {
  return (
    <div
      role="button"
      tabIndex={0}
      onClick={onClick}
      onKeyDown={(e) => {
        if (e.key === 'Enter' || e.key === ' ') {
          onClick();
        }
      }}
      className={`my-component ${isActive ? 'active' : ''}`}
    >
      <h3>{title}</h3>
    </div>
  );
};

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-01-20
Mise à jour de l’index
2026-01-26
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!