当前位置: 首页 > news >正文

工作室网站模板新东方烹饪培训学校

工作室网站模板,新东方烹饪培训学校,wordpress绑定手机验证,上海php网站开发在Vue和React中都内置了Suspense组件#xff0c;该组件用于处理异步组件加载。当Suspense包裹的实际组件内容尚未加载完成时会先展示后备内容#xff0c;等待组件内容加载完成后再切换成实际组件内容。这可以显著提升用户体验#xff0c;适用于大数据加载、组件懒加载等场景…在Vue和React中都内置了Suspense组件该组件用于处理异步组件加载。当Suspense包裹的实际组件内容尚未加载完成时会先展示后备内容等待组件内容加载完成后再切换成实际组件内容。这可以显著提升用户体验适用于大数据加载、组件懒加载等场景。 Vue—Suspense Vue中的Suspense组件有两个插槽#default 和 #fallback。两个插槽都只允许一个直接子节点。在渲染时都将优先渲染默认插槽中的节点如果遇到异步组件使用defineAsyncComponent定义的组件或者加载的组件带有异步setup钩子如下代码时官方文档称作异步依赖将显示后备插槽fallback中的节点一般是用于加载过程中的占位内容如加载动画或提示文字。 export default {async setup() {} } // 或者 script setupconst res await getUser(); // setup顶层有await /script加载状态 在初始渲染时Suspense 将在内存中渲染其默认的插槽内容。如果在这个过程中遇到任何异步依赖则会进入挂起状态。在挂起状态期间展示的是后备内容。当所有遇到的异步依赖都完成后Suspense 会进入完成状态并将展示出默认插槽的内容。如果在初次渲染时没有遇到异步依赖Suspense 会直接进入完成状态。 进入完成状态后只有当默认插槽的根节点被替换时Suspense 才会回到挂起状态。组件树中新的更深层次的异步依赖不会造成 Suspense 回退到挂起状态。 发生回退时后备内容不会立即展示出来。相反Suspense 在等待新内容和异步依赖完成时会展示之前 #default 插槽的内容。这个行为可以通过一个 timeout prop 进行配置在等待渲染新内容耗时超过 timeout 之后Suspense 将会切换为展示后备内容。若 timeout 值为 0 将导致在替换默认内容时立即显示后备内容。 事件 事件名事件描述pending当 Suspense 进入挂起状态时触发异步操作开始适合用来启动加载动画。resolve当 Suspense 内部所有异步操作完成并切换到正常内容时触发适合用来停止加载动画或执行完成逻辑。fallback当 Suspense 渲染备用内容#fallback 插槽时触发适合用来记录进入备用状态的日志或执行额外逻辑。 事件的执行顺序pending—fallback—resolve。 templatediv!-- 监听这三个事件记录当前状态 --Suspense pendingsetStatus(Pending) resolvesetStatus(Resolved) fallbacksetStatus(Fallback)template #defaultAsyncComponent //templatetemplate #fallbackdivLoading fallback.../div/template/SuspensepCurrent Status: {{ status }}/p/div /templatescript setup import { ref } from vue; import { defineAsyncComponent } from vue; const AsyncComponent defineAsyncComponent(() new Promise((resolve) {setTimeout(() {resolve({ template: divAsync Component Content/div });}, 2000);}) ); const status ref(); const setStatus (newStatus) status.value newStatus; /script注意如果 #default 中没有异步依赖这些事件不会被触发。且pending 和 fallback 事件通常紧密关联前者触发时后者也会触发。 嵌套使用 当一个Suspense组件下有多个异步依赖且它们之间互相独立时由于都处在同一个Suspense边界下即使其中一些已经加载完成也不会进行渲染而是会等待所有异步依赖全部加载完成最终才会渲染这样依赖总是同时加载可能会影响用户的体验。因此可以嵌套使用Suspense即某部分依赖先加载完成后不必等待其它依赖加载完成即可渲染。 可以发现Suspense的suspensible属性的默认值是false且可以设置一个超时时间当默认内容加载时间超时时即不会再加载默认内容而是渲染后备内容。另外也可以监听该组件的pending、resolve和fallback事件。 Suspensetemplate #defaultdivAsyncComponentOuter /Suspense suspensible {/* 设置suspensible后所有异步依赖项处理都会交给父级 Suspense (包括发出的事件) */}template #defaultAsyncComponentInter //templatetemplate #fallback内层加载中.../template/Suspense/div/templatetemplate #fallback外层加载中.../template /SuspenseReact—Suspense React中主要语法如下 Suspense fallback{Loading /} {/* 这是suspense默认渲染的内容在加载完成之前渲染的后备内容 */}Albums / {/* 这是suspense默认渲染的内容 */} /SuspenseSuspense中同样支持嵌套使用这样Suspense中的内容就可以逐步被渲染。通过合理嵌套 Suspense就可以更早地显示部分页面内容同时等待其他内容的加载从而提高用户体验。 Suspense fallback{BigSpinner /} {/* Biography的后备内容 */}Biography /Suspense fallback{AlbumsGlimmer /} {/* Panel的后备内容 */}PanelAlbums //Panel/Suspense /Suspense配合lazy组件使用 import { lazy, Suspense } from react; const LazyComponent lazy(() import(./LazyComponent)); // 懒加载该组件 export default function App() {return (divh1React Suspense Example/h1{/* Suspense 组件包裹 LazyComponent */}Suspense fallback{divLoading.../div}LazyComponent //Suspense/div); }React中的Suspense也可以结合useTransition和useDeferredValue等hooks一起使用来控制后备内容的显示与隐藏。 Suspense在Vue和React中对比 Vue中该组件有默认插槽和fallback插槽这两个插槽的内容都不支持多根节点而React中的默认插槽可以支持多个根节点。Vue中Suspense组件可以处理任意的异步逻辑不仅限于组件如数据请求而React默认只支持组件级的懒加载需要和其他库如 React Query 或 Relay集成来支持更复杂的数据加载。另外在SSR结合Suspense使用上可能存在一定的差异。 参考1、React内置组件—Suspense            2、Vue内置组件—Suspense
http://www.hkea.cn/news/14293628/

相关文章:

  • 做网站内容岳阳市网页设计人才网
  • 国外比较有名的设计工作室网站asp.net网站安装顺序
  • 山东众德建设项目管理公司网站专业网架加工
  • 手绘风网站揭阳建设网站
  • wordpress投稿上传图片泽成杭州seo网站推广排名
  • 几台服务器做集群网站紫金论坛最新新闻事件
  • 做网站的公司跑了台州椒江找人做网站
  • 大兴网站建设优化seo惠济郑州网站建设
  • 网站建设售后服务方案免费公司网站模板
  • 手机建站源码巩义企业网站托管代运营公司
  • 免费网站封装apphtml网站建设中
  • 南京溧水城市建设集团网站wordpress更改固定链接后无法登陆
  • 做网站需要多大的显存石家庄网站托管
  • 建设网站的主要流程有哪些内容互联网行业都有哪些专业
  • 青海做高端网站建设的公司WordPress导航条之间得跳转
  • 南昌网站建设 南昌做网站公司图文广告设计公司
  • 注册 网站开发 公司深圳 网站建设设计
  • wordpress网站和微信公众号广东省网站设计与开发
  • 您有新信息 建设招标网官方网站临汾推广型网站开发
  • 途牛网站开发需求360渠道推广系统
  • 最好的网站设计重庆网站建设 夹夹虫
  • 网站出租建设做同业业务一般关注哪些网站
  • 做一个app成本济南网站优化收费标准
  • 佛山网站设计培训深圳品牌型网站建设
  • 网站建设图片怎么调网站开发计划书网站技术解决方案
  • 网站开发的背景是指什么软件沈阳小程序开发报价
  • 卖域名的网站要怎么做兼容性视图中显示所有网站
  • 受欢迎的建网站哪家好怎么从网上找客户
  • 网站建设与管理专业工资高吗tcn短网址在线生成
  • 有没关于做动画设计师的网站网站欣赏公司网站案例