suspense

作者: good__day | 来源:发表于2019-01-17 15:08 被阅读0次

未完.......

1、作用

异步获取数据,不稳定的 react-cache ,还是用传统的方式比较好

import {unstable_createResource as createResource} from 'react-cache';

const resource = createResource(functionReturnAPromise);

const Foo = () => {

  const result = resource.read();

  return (

    <div>{result}</div>

  );

};

<Suspense><Foo /></Suskpense>

懒加载的 api

// Clock.js

import React from "react";

import moment from "moment";

console.log("init Clock");

const Clock = () => <h1>{moment().format("MMMM Do YYYY, h:mm:ss a")}</h1>;

export default Clock;

// Usage of Clock

const Clock = React.lazy(() => {

  console.log("start importing Clock");

  return import("./Clock");

});

<Suspense fallback={<div>Loading...</div>}>

  { show ? <Clock/> : null}

</Suspense>

2、原理

用了 异常捕获,捕获到的异常,如果是个 promise,在 promise 结果返回后,重新渲染子组件

getDerivedStateFromError(error) {

  if (isPromise(error)) {

      error.then(reRender);

  }

}

相关文章

  • HOOK

    Suspense

  • 2022-05-11

    React suspense 与 lazy 结合 最近给页面增加骨架屏功能,使用了React的suspense功能...

  • Suspense

    在Vue3中生命周期函数调用一步请求,组件的外部必须使用Suspense标签进行嵌套以等待异步方式的结束,可以进行...

  • suspense

    未完....... 1、作用 异步获取数据,不稳定的 react-cache ,还是用传统的方式比较好 impor...

  • Suspense

    Suspense组件用于在等待某个异步组件解析时显示后备内容。 你可能会想我们会在什么时候使用异步组件? 老实说,...

  • Keep matters for a time in suspe

    Keep matters for a time in suspense.Admireation at their ...

  • Vue 3新引入的Suspense组件介绍

    前言 Suspense是Vue 3新增的内置标签,尽管目前官方文档里并没有Suspense的介绍,但不妨碍我们先学...

  • Vue3 内置组件Suspense

    什么是Suspense Suspense组件可以等待某个异步组件解析完成的前后的显示情况比如一个组件是图片,它里面...

  • WORLDLY WISE

    Keep matters in suspense. Being too obvious is neither us...

  • 毒舌王尔德100句:13-17

    13. This suspense is terrible. I hope it will last. 悬念是可怕...

网友评论

      本文标题:suspense

      本文链接:https://www.haomeiwen.com/subject/dmjidqtx.html