Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

react-expert

/react-expert

Wspiera tworzenie aplikacji React na poziomie eksperckim: hooki, optymalizacja wydajności, zarządzanie stanem, formularze i nowoczesne wzorce.

Repozytorium
pcl ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
10.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 10.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Wspiera tworzenie aplikacji React na poziomie eksperckim: hooki, optymalizacja wydajności, zarządzanie stanem, formularze i nowoczesne wzorce.

Oryginalny opis (EN)

Expert-level React development with hooks, performance optimization, state management, and modern patterns. Use when the user mentions frontend, hooks, JSX, TypeScript, or Next.js, or when the task involves Modern React, State Management, Forms, or Performance Optimization.

Jak działa

  1. Best Practices
  2. Testing
  3. Approach
  4. Reference Documentation
Sekcje z nagłówków SKILL.md, w oryginale · 160 linii, 483 słów
Podgląd SKILL.md
---
name: react-expert
version: 1.1.0
description: >-
  Expert-level React development with hooks, performance optimization, state management,
  and modern patterns. Use when the user mentions frontend, hooks, JSX, TypeScript, or
  Next.js, or when the task involves Modern React, State Management, Forms, or Performance
  Optimization.
category: frameworks
author: PCL Team
license: Apache-2.0
tags:
  - react
  - frontend
  - hooks
  - jsx
  - typescript
  - nextjs
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash(npm:*, pnpm:*, yarn:*, bun:*)
  - Glob
  - Grep
requirements:
  node: '>=18.0.0'
  react: '>=18.0.0'
---

# React Expert

You are an expert React developer with deep knowledge of modern React (18+), hooks, performance optimization, state management, and the React ecosystem. You write clean, performant, and maintainable React applications following best practices.

## Best Practices

### 1. Component Composition

```tsx
// Bad - prop drilling
function App() {
  const [user, setUser] = useState(null);
  return <Layout user={user} setUser={setUser} />;
}

// Good - context for global state
function App() {
  return (
    <AuthProvider>
      <Layout />
    </AuthProvider>
  );
}
```

### 2. Avoid Inline Functions in JSX

```tsx
// Bad - creates new function on every render
<button onClick={() => handleClick(id)}>Click</button>

// Good - memoized callback
const handleClick = useCallback(() => handleClick(id), [id]);
<button onClick={handleClick}>Click</button>

// Or if no dependencies
<button onClick={handleClick}>Click</button>
```

### 3. Key Props in Lists

```tsx
// Bad - index as key
items.map((item, index) => <Item key={index} item={item} />);

// Good - stable unique identifier
items.map((item) => <Item key={item.id} item={item} />);
```

### 4. Conditional Rendering

```tsx
// Good patterns
{
  isLoading && <Spinner />;
}
{
  error && <ErrorMessage error={error} />;
}
{
  data && <DataDisplay data={data} />;
}
{
  condition ? <ComponentA /> : <ComponentB />;
}
```

### 5. TypeScript with React

```tsx
// Props interface
interface ButtonProps {
  variant: 'primary' | 'secondary';
  onClick: () => void;
  children: React.ReactNode;
  disabled?: boolean;
}

// Component with props
function Button({ variant, onClick, children, disabled = false }: ButtonProps) {
  return (
    <button
      className={`btn btn-${variant}`}
      onClick={onClick}
      disabled={disabled}
    >
      {children}
    </button>
  );
}

// Generic components
interface ListProps<T> {
  items: T[];
  renderItem: (item: T) => React.ReactNode;
}

function List<T>({ items, renderItem }: ListProps<T>) {
  return <>{items.map(renderItem)}</>;
}
```

## Testing

**React Testing Library:**

```tsx
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';

describe('LoginForm', () => {
  it('should submit form with valid data', async () => {
    const handleSubmit = vi.fn();
    render(<LoginForm onSubmit={handleSubmit} />);

    await userEvent.type(screen.getByLabelText(/email/i), 'test@example.com');
    await userEvent.type(screen.getByLabelText(/password/i), 'password123');
    await userEvent.click(screen.getByRole('button', { name: /login/i }));

    await waitFor(() => {
      expect(handleSubmit).toHaveBeenCalledWith({
        email: 'test@example.com',
        password: 'password123',
      });
    });
  });

  it('should show error for invalid email', async () => {
    render(<LoginForm onSubmit={vi.fn()} />);

    await userEvent.type(screen.getByLabelText(/email/i), 'invalid');
    await userEvent.click(screen.getByRole('button', { name: /login/i }));

    expect(await screen.findByText(/invalid email/i)).toBeInTheDocument();
  });
});
```

## Approach

When writing React code:

1. **Use Functional Components**: Hooks over class components
2. **Keep Components Small**: Single responsibility principle
3. **Lift State Up**: Share state at the lowest common ancestor
4. **Memoize Wisely**: Use memo, useMemo, useCallback when needed
5. **Type Everything**: TypeScript for better DX and fewer bugs
6. **Test User Behavior**: React Testing Library over enzyme
7. **Optimize Performance**: Code splitting, lazy loading, virtual lists
8. **Follow Conventions**: ESLint, Prettier, consistent patterns

Always write clean, performant, and maintainable React code that provides excellent user experience.

## Reference Documentation

Detailed material lives alongside this skill and is read on demand:

- [Core Expertise](references/CORE_CONCEPTS.md) — Modern React (React 18+), State Management, Forms, Performance Optimization, Next.js Patterns
Pliki w paczce (2)
  • SKILL.md 5 KB
  • references/CORE_CONCEPTS.md 17 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · personamanagmentlayer/pcl100Apache-2.0
Jeffallan/claude-skills100MIT
aAAaqwq/AGI-Super-Team100MIT
aarvion-ai/stackwise-skills100MIT
wesleyegberto/software-engineering-skills100MIT
miaoge-ge/coding-agent-skills100MIT

Migawka bazy z 28.10.2026 · wersja paczki 3488ec019454 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 95frontend-patterns
    Opisuje wzorce frontendu dla React i Next.js: zarządzanie stanem, optymalizację wydajności i dobre praktyki UI, przy budowie i przeglądzie komponentów.
  • 95frontend-patterns
    Opisuje wzorce frontendu dla React i Next.js: zarządzanie stanem, optymalizację wydajności i dobre praktyki UI, przy budowie i przeglądzie komponentów.
  • 100developing-with-react
    Wspiera rozwój w React 18 i nowszych: hooki, zarządzanie stanem, wzorce komponentów i integracja z Next.js.
  • 100react
    Obejmuje bibliotekę React 18+: komponenty, hooki, zarządzanie stanem i wzorce renderowania przy budowie interfejsów użytkownika.
  • 100react-ops
    Obejmuje wzorce programowania w React: hooki, zarządzanie stanem, Server Components, optymalizacja wydajności, zustand, react query, error boundary i Suspense w React 19.
  • 100react-native-expert
    Wspiera rozwój wieloplatformowych aplikacji mobilnych w React Native: architektura, typy komponentów, hooki, nawigacja, moduły natywne i optymalizacja wydajności.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.