React Server Components流式传输示例


场景描述

一个简单的博客首页,服务端组件流式渲染文章列表和用户信息。文章列表数据较大,流式逐步加载,提升首次内容展示速度。


代码示例

1. Server Component (app/page.jsx)

import React from "react";

// 模拟异步获取文章列表(大数据量,延迟)
async function fetchPosts() {
  const posts = [
    { id: 1, title: "React Server Components 介绍" },
    { id: 2, title: "流式传输提高性能" },
    { id: 3, title: "实战示例代码详解" },
    // 模拟更多数据
  ];

  for (let post of posts) {
    await new Promise((r) => setTimeout(r, 1000)); // 模拟网络延迟
    yield post;
  }
}

// 文章列表组件,支持流式yield
async function* Posts() {
  yield <h2>文章列表:</h2>;

  for await (const post of fetchPosts()) {
    yield <p key={post.id}>{post.title}</p>;
  }
}

// 用户信息,模拟即时加载
async function UserInfo() {
  await new Promise((r) => setTimeout(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大富大贵7

很高兴能够帮助到你 感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值