react-router4按需加载显示loading

发布于 2022-09-06 05:52:09 字数 121 浏览 5 评论 0

react-router4配置了按需加载,现在网络不好情况下分割的js还没请求回来页面是空白的,怎么配置分割的js还没有请求回来之前页面显示一个loading动画,等到对应的分割的js请求回来了之后隐藏掉loading显示页面?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

木落 2022-09-13 05:52:10

react-loadable我在用这个

终止放荡 2022-09-13 05:52:10

不知道你怎么实现的。
就我的认识中,按需加载时这样实现的。
引入一个控件(控件留一个开关) -> 当调用的时候,打开这个开关

这是一种实现

import React, { Component } from "react";

export default function asyncComponent(importComponent) {
  class AsyncComponent extends Component {
    constructor(props) {
      super(props);

      this.state = {
        component: null
      };
    }

    async componentDidMount() {
      const { default: component } = await importComponent();

      this.setState({
        component: component
      });
    }

    render() {
      const C = this.state.component;
      // 可以在这里加上loading
      //return C ? <C {...this.props} /> : <Loading>;
      return C ? <C {...this.props} /> : null;
    }
  }

  return AsyncComponent;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文