我的编程空间,编程开发者的网络收藏夹
学习永远不晚

React18中的SuspenseList有什么作用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

React18中的SuspenseList有什么作用

本篇内容主要讲解“React18中的SuspenseList有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React18中的SuspenseList有什么作用”吧!

React18中的SuspenseList有什么作用

Suspense的前世今生

这个特性在React历史版本中的出现,第一次是16.6版本,发布了支持代码拆分的Suspense组件。在16.9版本中继而支持了数据提取。感兴趣的同学可以移步Reactchangelog

Suspense的简单使用

前文有介绍,我们仅用一个例子来温顾下概念和使用

// 这个组件是动态加载的
const OtherComponent = React.lazy(() => import('./OtherComponent'));

function MyComponent() {
  return (
    <React.Suspense fallback={<Spinner />}>
      <div>
        <OtherComponent />
      </div>
    </React.Suspense>
  );
}

OtherComponent组件尚不具备渲染条件的时候,会用fallback传入的组件进行预制渲染。这边不具备渲染条件的具体表现就是数据获取时间较长,组件结构复杂等,但是不想因为这些影响应用的首屏渲染或者初始化,之前的Suspense的文章有介绍,不再赘述。

什么是SuspenseList

从字面上的意思就能够简单的理解,就是如果我们的代码中有多个Suspense存在,我们应该怎么控制它们的展示顺序和展示方式呢?由此React官方给我们提供了SuspenseList组件。

<SuspenseList revealOrder="forwards">
  <Suspense fallback={'加载中...'}>
    <ProfilePicture id={1} />
  </Suspense>
  <Suspense fallback={'加载中...'}>
    <ProfilePicture id={2} />
  </Suspense>
  <Suspense fallback={'加载中...'}>
    <ProfilePicture id={3} />
  </Suspense>
  ...
</SuspenseList>

我们首先介绍下SuspenseList仅有的两个Props

revealOrder 表示的是子Suspense的加载顺序,可选值有forwardsbackwardstogether

  • forwards表示同一层次,从前往后展示,无论请求速度都是前面的先展示

  • backwards跟forwards相反

  • together表示所有suspense都准备好后同时显示,而不是一个个显示

tail指定如何显示SuspenseList中未加载项目的行为

  • 默认情况下,SuspenseList 将显示列表中的所有 fallback

  • collapsed 仅显示列表中下一个 fallback

hidden 未加载的项目不显示任何信息

ps:SuspenseList只对直接子层级的Suspense或者SuspenseList起作用,不会对孙子节点起作用。

SuspenseList的作用

SuspenseList让我们可以对一组Suspense的行为进行复合编排,虽然在演示中的demo相对比较简单,但是如果在一个比较大型的项目中,我们经常会使用Layout进行布局。就拿我们常见的中后端管理平台来说和C端主体页面来举例。

React18中的SuspenseList有什么作用

React18中的SuspenseList有什么作用

中后端系统中,我们经常使用顶栏+侧边栏+主体页面的方式来布局,在这一层面目前业界,践行微前端的套路居多,比如qiankun.js,包括笔者所在的团队,也探索了一套自己的微前端实现体系。如果在C端页面,采用微前端的方式可能未必合适,在页面中存在多区块渲染等需求上,利用SuspenseListSuspense结合React后端渲染SSR的能力,就能够较系统的实现独立区块的加载顺序和行为的效果。

到此,相信大家对“React18中的SuspenseList有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

React18中的SuspenseList有什么作用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux Shell中()、(())、[]、[[]]、{}的有什么作用

这篇文章主要介绍“Linux Shell中()、(())、[]、[[]]、{}的有什么作用”,在日常操作中,相信很多人在Linux Shell中()、(())、[]、[[]]、{}的有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好
2023-06-15

linux中的lo有什么作用

本篇内容主要讲解“linux中的lo有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中的lo有什么作用”吧!在linux中,lo是local的简写,是指本地环回接口;利用这个接
2023-06-29

Tomcat中的Connector有什么作用

Tomcat中的Connector是用来处理客户端与服务器之间的通信的组件。它负责监听客户端请求,并将请求转发给适当的处理器,然后将处理器的响应返回给客户端。Connector可以根据不同的协议(如HTTP、AJP等)来处理不同类型的请求,
Tomcat中的Connector有什么作用
2024-03-07

Tomcat中的Realm有什么作用

在Tomcat中,Realm的作用是用来处理用户认证和授权的。Realm负责验证用户的身份和权限,以便在应用程序中进行访问控制。通过配置Realm,Tomcat可以支持多种不同的用户认证方式,例如基于数据库、LDAP、JDBC等。Realm
Tomcat中的Realm有什么作用
2024-03-08

Vue3.2中的expose有什么作用

这篇文章主要讲解了“Vue3.2中的expose有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3.2中的expose有什么作用”吧!随着Vue 3.2的发布,一个新的组合工具
2023-07-02

Python中的Dask有什么作用

本篇内容主要讲解“Python中的Dask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的Dask有什么作用”吧!前言Python由于其易用性而成为最流行的语言,它提供了
2023-06-16

Vue中的Hooks有什么作用

本篇内容介绍了“Vue中的Hooks有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Hooks 对于 Vue 意义着什么?Hooks
2023-06-29

python中的tokenize有什么作用

在Python中,tokenize的作用是将文本分解为独立的词或符号,称为“标记”。这些标记可以是单词、句子、段落或更大的文本单位,具体取决于应用程序的需求。tokenize的主要作用有:1. 分词:将文本分解为单词(token),以便进行
2023-08-18

Storm中的EventLoggingBolt有什么作用

在Storm中,EventLoggingBolt的作用是将处理过的事件数据写入到日志中,用于监控和分析系统的运行情况。通过EventLoggingBolt,可以方便地记录每个事件的处理情况,以便后续分析和优化系统性能。此外,EventLog
Storm中的EventLoggingBolt有什么作用
2024-03-11

hadoop中的hdfs有什么作用

HDFS(Hadoop Distributed File System)是Hadoop中的分布式文件系统,其主要作用是存储和管理大规模数据集。HDFS被设计用来在大量的服务器上存储和处理大量数据,并提供高可靠性、高容错性和高吞吐量的数据访问
hadoop中的hdfs有什么作用
2024-03-13

编程热搜

目录