美文网首页
react-loadable 的核心思想

react-loadable 的核心思想

作者: 怪爵Geekknight | 来源:发表于2019-05-16 00:43 被阅读0次

react-loadable解决什么问题?

当你的项目足够大时,把所有代码打包到一个bundle中的启动时间就会成为问题。这时就需要把app拆分为若干个bundle,然后根据需求动态加载它们.

react-loadable的关键实现

1.import 和 import()是不同的.
import * from '';在编译阶段执行,同步执行。
import(相对路径) 异步执行,返回Promise对象。

2.state的loaded为真正渲染的组件。根据loading, error展示loading组件还是真实组件。
具体代码如下:

  function load(loader) {
  // loader为传入的参数loader: () => import('');
    let promise = loader();

    let state = {
      loading: true,
      loaded: null,
      error: null
    };

    state.promise = promise
      .then(loaded => {
        state.loading = false;
        state.loaded = loaded;
        return loaded;
      })
      .catch(err => {
        state.loading = false;
        state.error = err;
        throw err;
      });

    return state;
  }

  render() {
      if (this.state.loading || this.state.error) {
        return React.createElement(opts.loading, {
          isLoading: this.state.loading,
          pastDelay: this.state.pastDelay,
          timedOut: this.state.timedOut,
          error: this.state.error,
          retry: this.retry
        });
      } else if (this.state.loaded) {
        return opts.render(this.state.loaded, this.props);
      } else {
        return null;
      }
    }

相关文章

  • react-loadable 的核心思想

    react-loadable解决什么问题? 当你的项目足够大时,把所有代码打包到一个bundle中的启动时间就会成...

  • react-loadable异步组件

    安装react-loadable 使用react-loadable 注释:/detail对应组件被react-lo...

  • Element type is invalid: expecte

    https://github.com/jamiebuilds/react-loadable/pull/110

  • 按需加载

    一、使用react-loadable 其中用到:loader: () => import('pages/home/...

  • Material Design(一)认识与了解

    一.What is Material Design 核心思想 Material design的核心思想,就是把物理...

  • 核心思想

    简单性和模块化是软件工程的基石,分布式和容错性是互联网的生命。

  • 核心思想

    善于向大自然学习,终身学习,可持续性发展,考虑长久利益,辩证思维,批判的眼光看任何事有局限性,好奇心,求知欲,想象...

  • 核心思想

    金字塔基本结构: 中心思想明确,结论先行,以上统下,归类分组,逻辑递进。 先重要后次要,先全局后细节,先结论后原因...

  • 论读书

    任何书都一个核心思想和论点作为支撑,核心思想是不多的,其余的案例论点都是说明核心思想延伸出来的,目的是表现出核心思...

  • Android进阶之光——Material Design

    Material Design 核心思想 Material Design的核心思想,就是将物理世界中的体验带入屏幕...

网友评论

      本文标题:react-loadable 的核心思想

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