React 19 新特性深度解析

React 19 带来了许多激动人心的新特性,这些更新旨在提升开发体验、简化状态管理,并为未来的 React 应用奠定基础。

1. Actions - 简化异步状态管理

什么是 Actions?

Actions 是 React 19 中处理异步操作的新方式,它自动管理挂起状态、错误处理和表单提交。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { useActionState } from 'react'

function UpdateName() {
  const [error, submitAction, isPending] = useActionState(
    async (previousState, formData) => {
      const error = await updateName(formData.get("name"))
      if (error) {
        return error
      }
      redirect("/profile")
    },
    null,
  )

  return (
    <form action={submitAction}>
      <input type="text" name="name" />
      <button type="submit" disabled={isPending}>
        {isPending ? "更新中..." : "更新"}
      </button>
      {error && <p>{error}</p>}
    </form>
  )
}

2. use Hook - 统一资源访问

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import { use } from 'react'

function Comments({ commentsPromise }) {
  // use 会暂停组件直到 Promise 解决
  const comments = use(commentsPromise)
  
  return (
    <div>
      {comments.map(comment => (
        <div key={comment.id}>{comment.text}</div>
      ))}
    </div>
  )
}

这些更新让 React 应用开发变得更加直观和高效,为构建现代 Web 应用提供了强大的工具。