Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

react-19React 19 文档

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

1,056

周安装

44

GitHub Stars

12

下载量

352
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:react-19(React 19 文档)
来源仓库:https://github.com/claude-dev-suite/claude-dev-suite
仓库路径:skills/react-19
安装命令:
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill react-19
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill react-19

简介

用于辅助 React 19 新特性应用与组件开发。

  • 适合生成或审查 React、Next.js 及相关框架代码。
  • 需结合项目现有设计系统与构建方式使用。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • 涉及页面改动时应通过预览确认视觉效果。
  • react-19 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

React 19

Overview of New Features

FeatureDescription
ActionsAsync functions in transitions for data mutations
useActionStateHandle action state with pending/error
useFormStatusAccess parent form status
useOptimisticOptimistic UI updates
use()Read resources in render (Promises, Context)
Server ComponentsComponents that render on server
Server ActionsServer functions called from client
React CompilerAutomatic memoization
Ref as propPass ref directly without forwardRef

Actions

Actions are async functions used in transitions to handle mutations:

import { useTransition } from 'react';

function UpdateProfile() {
  const [isPending, startTransition] = useTransition();

  async function handleSubmit(formData: FormData) {
    startTransition(async () => {
      const result = await updateProfile(formData);
      if (result.error) {
        showToast(result.error);
      }
    });
  }

  return (
    <form action={handleSubmit}>
      <input name="name" type="text" />
      <button type="submit" disabled={isPending}>
        {isPending ? 'Saving...' : 'Save'}
      </button>
    </form>
  );
}

useActionState

Replaces the experimental useFormState. Manages form action state including pending status:

import { useActionState } from 'react';

interface FormState {
  message: string | null;
  errors: Record<string, string[]>;
}

async function createPost(prevState: FormState, formData: FormData): Promise<FormState> {
  const title = formData.get('title') as string;

  if (!title || title.length < 3) {
    return { message: null, errors: { title: ['Title must be at least 3 characters'] } };
  }

  try {
    await savePost({ title });
    return { message: 'Post created!', errors: {} };
  } catch (error) {
    return { message: 'Failed to create post', errors: {} };
  }
}

function CreatePostForm() {
  const [state, formAction, isPending] = useActionState(createPost, {
    message: null,
    errors: {}
  });

  return (
    <form action={formAction}>
      <input name="title" type="text" />
      {state.errors.title && <p className="error">{state.errors.title[0]}</p>}
      <button type="submit" disabled={isPending}>
        {isPending ? 'Creating...' : 'Create Post'}
      </button>
    </form>
  );
}

useFormStatus

Access the status of a parent <form> from any child component:

import { useFormStatus } from 'react-dom';

function SubmitButton() {
  const { pending, data, method, action } = useFormStatus();

  return (
    <button type="submit" disabled={pending}>
      {pending ? 'Submitting...' : 'Submit'}
    </button>
  );
}

// Usage - must be child of <form>
function ContactForm() {
  return (
    <form action={submitContact}>
      <input name="email" type="email" required />
      <SubmitButton />
    </form>
  );
}

Reusable Form Components

'use client';
import { useFormStatus } from 'react-dom';

export function FormButton({ children, pendingText = 'Submitting...', ...props }) {
  const { pending } = useFormStatus();

  return (
    <button {...props} disabled={pending || props.disabled}>
      {pending ? pendingText : children}
    </button>
  );
}
Full Reference: See hooks.md for useOptimistic, use() hook, Ref handling, Document Metadata.

Server Components & Server Actions

// app/users/page.tsx (Server Component by default)
export default async function UsersPage() {
  const users = await fetchUsers();
  return <UserList users={users} />;
}

// app/actions.ts
'use server';
export async function createPost(formData: FormData) {
  const title = formData.get('title') as string;
  await db.post.create({ data: { title } });
  revalidatePath('/posts');
  redirect(`/posts`);
}
Full Reference: See server.md for Server Components patterns, React Compiler, Migration Guide.

Best Practices

  • ✅ Use Actions for form submissions and mutations
  • ✅ Use useOptimistic for immediate feedback
  • ✅ Use use() instead of useEffect for data fetching
  • ✅ Let React Compiler handle memoization
  • ✅ Use Server Components for static content
  • ✅ Use Server Actions for secure mutations
  • ❌ Don't create Promises inside components for use()
  • ❌ Don't mix client/server code without proper boundaries

When NOT to Use This Skill

  • React 18 and earlier features - Use react skill instead
  • General form handling - Use react-forms or react-hook-form skills
  • Performance optimization - Use react-performance skill

Anti-Patterns

Anti-PatternProblemSolution
Creating Promises in render for use()New promise every renderCreate promise outside component
Using useFormState instead of useActionStateDeprecated in React 19Use useActionState with isPending
Missing 'use server' directiveCode runs on clientAdd 'use server' at top of file
Not validating Server Action inputsSecurity vulnerabilityAlways validate with Zod

Quick Troubleshooting

IssueLikely CauseFix
Action not workingMissing action attributeAdd action={serverAction} to form
isPending not availableUsing old useFormStateSwitch to useActionState
Serialization errorsPassing functions/classesOnly pass serializable data
ref not workingUsing old forwardRef patternPass ref as regular prop

Reference Files

FileContent
hooks.mduseOptimistic, use(), Ref handling, Metadata
server.mdServer Components, Server Actions, Compiler, Migration

External Documentation

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.46%
按下载量换算132

Claude

27.99%
按下载量换算99

Cursor

19.1%
按下载量换算67

Gemini CLI

8.97%
按下载量换算32

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills