Back to Skills

react

KubrickCode
Updated Yesterday
78 views
1
1
View on GitHub
Metareacttestingapidesign

About

This skill provides React development standards and best practices for building high-quality components. It covers functional components, hooks usage, state management, performance optimization, and accessibility compliance. Use it when developing React components, creating custom hooks, or implementing TypeScript integration for type-safe components.

Documentation

React Development Standards

Component Structure

Rules Per File Component

Exported components should be one per file when possible; internal components can have multiple if necessary (not recommended).

  • Forbid export default (refactoring and tree-shaking issues)
  • Use named exports only
  • Don't export internal helper components
  • File order: Main exported component → Additional exported components → Internal helper components

State Management Rules

State Management Hierarchy

  1. Local State (useState): Used only in a single component
  2. Props Drilling: Allow maximum 2 levels
  3. Context API: Use when 3+ levels of prop drilling needed
  4. Global State (Zustand, etc.):
    • Shared across 5+ components
    • Server state synchronization needed
    • Complex state logic (computed, actions)
    • Developer tools support needed

Hook Usage Rules

Custom Hook Extraction Criteria

  • 3+ combinations of useState/useEffect
  • Reused in 2+ components
  • 50+ lines of logic

Minimize useEffect Usage

  • useEffect only for external system synchronization
  • Handle state updates in event handlers
  • Calculate derived values directly or with useMemo
  • Use only when truly necessary and comment why
// ❌ Bad: useEffect for state synchronization
useEffect(() => {
  setFullName(`${firstName} ${lastName}`);
}, [firstName, lastName]);

// ✅ Good: Direct calculation
const fullName = `${firstName} ${lastName}`;

Props Rules

Rules for Adding Props to Common Components

  • Review structure before adding new props (prevent indiscriminate prop additions at shared level)
  • Check for single responsibility principle violations
  • Consider composition pattern for 3+ optional props
  • Review if can be unified with variant prop

Conditional Rendering

Basic Rules

// Simple condition: && operator
{isLoggedIn && <UserMenu />}

// Binary choice: ternary operator
{isLoggedIn ? <UserMenu /> : <LoginButton />}

// Complex condition: separate function or early return
const renderContent = () => {
  if (status === 'loading') return <Loader />;
  if (status === 'error') return <Error />;
  return <Content />;
};

Activity Component

  • Use when pre-rendering hidden parts or maintaining state is needed
  • Manage with visible/hidden mode
  • Utilize for frequently toggled UI like tab switching, modal contents

Memoization

Using React Compiler

  • Rely on automatic memoization
  • Manual memoization (React.memo, useMemo, useCallback) only for special cases
  • Use as escape hatch when compiler cannot optimize

Quick Install

/plugin add https://github.com/KubrickCode/ai-config-toolkit/tree/main/react

Copy and paste this command in Claude Code to install this skill

GitHub 仓库

KubrickCode/ai-config-toolkit
Path: .claude/skills/react

Related Skills

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

langchain

Meta

LangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

business-rule-documentation

Meta

This skill provides standardized templates for systematically documenting business logic and domain knowledge following Domain-Driven Design principles. It helps developers capture business rules, process flows, decision trees, and terminology glossaries to maintain consistency between requirements and implementation. Use it when documenting domain models, creating business rule repositories, or bridging communication between business and technical teams.

View skill