React 19 重大更新:Actions 与 Server Components 实战指南

2026-03-21 码匠 前端开发

React 19 重大更新:Actions 与 Server Components 实战指南

React 19 概述

React 19 是 React 框架的最新版本,带来了革命性的更新。Server Components 和 Actions 是这次更新的核心特性。

Server Components(服务端组件)

Server Components 允许组件在服务端渲染,大幅减少客户端 JavaScript 体积。

// Server Component - 默认行为
async function ArticleList() {
  const articles = await db.articles.findMany();
  
  return (
    ul
      {articles.map(article => (
        li key={article.id}>{article.title}/li
      ))}
    /ul
  );
}

// Client Component - 需要交互
use client
function LikeButton({ articleId }) {
  const [liked, setLiked] = useState(false);
  
  return (
    button onClick={() => setLiked(!liked)}>
      {liked ? '❤️' : '🤍'}
    /button
  );
}

Actions(服务器操作)

Actions 是一种在服务端处理表单提交的新方式。

use client
import { useActionState } from 'react';

async function createArticle(prevState, formData) {
  const title = formData.get('title');
  const result = await db.articles.create({ title });
  
  if (result.error) {
    return { error: result.error };
  }
  
  return { success: true };
}

性能对比

特性传统方式React 19
首屏加载2.5s1.2s
JS 体积150KB45KB
SEO 优化需额外处理原生支持

迁移建议

  1. 先升级到 React 18.3
  2. 逐步将静态组件转为 Server Components
  3. 用 Actions 替代 useEffect + API 调用

总结

React 19 的 Server Components 和 Actions 为构建高性能应用提供了全新的思路。