返回顶部
首页 > 资讯 > 前端开发 > JavaScript >React18中的SuspenseList有什么作用
  • 565
分享到

React18中的SuspenseList有什么作用

2024-04-02 19:04:59 565人浏览 八月长安
摘要

本篇内容主要讲解“React18中的SuspenseList有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: React18中的SuspenseList有什么作用

本文链接: https://lsjlt.com/news/95446.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • React18中的SuspenseList有什么作用
    本篇内容主要讲解“React18中的SuspenseList有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React18中的SuspenseList有...
    99+
    2024-04-02
  • react18中的Transition怎么用
    这篇文章主要介绍“react18中的Transition怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react18中的Transition怎么用”文章能帮助...
    99+
    2024-04-02
  • mysql中的锁有什么作用
    mysql中的锁有什么作用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。锁是计算机协调多个进程或线程并发访问某一资源的机制。锁...
    99+
    2024-04-02
  • MySQL中的delimiter有什么作用
    这篇文章主要介绍“MySQL中的delimiter有什么作用”,在日常操作中,相信很多人在MySQL中的delimiter有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • PostgreSQL中的Declarations有什么作用
    本篇内容主要讲解“PostgreSQL中的Declarations有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中的Declara...
    99+
    2024-04-02
  • PostgreSQL中的​Rules有什么作用
    本篇内容介绍了“PostgreSQL中的Rules有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • Javascript中的this有什么作用
    这篇文章主要介绍“Javascript中的this有什么作用”,在日常操作中,相信很多人在Javascript中的this有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • javascript中的类有什么作用
    本篇内容介绍了“javascript中的类有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • JavaScript中的iterable有什么作用
    这篇文章主要介绍“JavaScript中的iterable有什么作用”,在日常操作中,相信很多人在JavaScript中的iterable有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • ajax中async的作用有什么
    ajax中async的作用有什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ajax中async用于设置用异步或同步方式执行脚本;asy...
    99+
    2024-04-02
  • Python中的Dask有什么作用
    本篇内容主要讲解“Python中的Dask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的Dask有什么作用”吧!前言Python由于其易用性而成为最流行的语言,它提供了...
    99+
    2023-06-16
  • Linux Shell中()、(())、[]、[[]]、{}的有什么作用
    这篇文章主要介绍“Linux Shell中()、(())、[]、[[]]、{}的有什么作用”,在日常操作中,相信很多人在Linux Shell中()、(())、[]、[[]]、{}的有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-06-15
  • linux中的lo有什么作用
    本篇内容主要讲解“linux中的lo有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中的lo有什么作用”吧!在linux中,lo是local的简写,是指本地环回接口;利用这个接...
    99+
    2023-06-29
  • laravel中的dingo有什么作用
    这篇文章主要介绍“laravel中的dingo有什么作用”,在日常操作中,相信很多人在laravel中的dingo有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel中的dingo有什么作用...
    99+
    2023-06-29
  • Vue中的Hooks有什么作用
    本篇内容介绍了“Vue中的Hooks有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Hooks 对于 Vue 意义着什么?Hooks...
    99+
    2023-06-29
  • Vue3.2中的expose有什么作用
    这篇文章主要讲解了“Vue3.2中的expose有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3.2中的expose有什么作用”吧!随着Vue 3.2的发布,一个新的组合工具...
    99+
    2023-07-02
  • java中的finally有什么作用
    在Java中,finally是一个关键字,用于定义一个代码块,该代码块始终会被执行,无论是否发生异常。finally块通常用于释放资...
    99+
    2023-10-11
    java
  • python中的tokenize有什么作用
    在Python中,tokenize的作用是将文本分解为独立的词或符号,称为“标记”。这些标记可以是单词、句子、段落或更大的文本单位,...
    99+
    2023-08-18
    Python
  • Tomcat中的Connector有什么作用
    Tomcat中的Connector是用来处理客户端与服务器之间的通信的组件。它负责监听客户端请求,并将请求转发给适当的处理器,然后将...
    99+
    2024-03-07
    Tomcat
  • Cassandra中的BloomFilter有什么作用
    Cassandra中的BloomFilter是一种用于快速判断某个元素是否存在于集合中的数据结构。在Cassandra中,Bloom...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作