use 是 React 19 的新 Hook,可以读取 Promise 或 Context,且可以在条件语句中使用。

use Hook 详解

use 是 React 19 的新 Hook,可以读取 Promise 或 Context,且可以在条件语句中使用。

// 基本语法

// 读取 Promise
const data = use(dataPromise);

// 读取 Context
const theme = use(ThemeContext);

// 条件使用(特殊能力!)
if (shouldLoad) {
  const extra = use(extraDataPromise);
}

示例 1: 读取 Promise

说明: use(promise) 会等待 Promise resolve,期间显示 Suspense fallback。

示例 2: 读取 Context

主题按钮:

用户信息:

张三

角色: 管理员

对比 useContext: use(Context) 可以在条件语句中使用,而 useContext 不行。

示例 3: 条件数据加载

用户 #1

基本信息展示

特殊能力: use 可以在条件语句中使用(if/&&), 这是传统 Hooks 做不到的!只有勾选“显示详细信息”时才会加载数据。

示例 4: 并行加载

统计数据 (800ms)

最近活动 (1200ms)

并行加载优势:

  • 两个请求同时发起
  • 各自独立的 Suspense 边界
  • 先完成的先显示

use vs 传统方式

特性useuseState + useEffect
代码量
条件使用
需要 Suspense
加载状态自动手动管理