簡體   English   中英

使用可加載組件的 React.lazy 模式

[英]React.lazy pattern using Loadable Components

我有以下情況,我事先不知道要加載哪個組件。 使用 React.lazy 的解決方案如下

import React, { lazy, Suspense } from "react";

export default class CallingLazyComponents extends React.Component {
  render() {

    var ComponentToLazyLoad = null;

    if(this.props.name == "A") { 
      ComponentToLazyLoad = lazy(() => import("./AComponent"));
    } else if(this.props.name == "B") {
      ComponentToLazyLoad = lazy(() => import("./BComponent"));
    }
    return (
        <div>
            <h1>This is the Base User: {this.state.name}</h1>
            <Suspense fallback={<div>Loading...</div>}>
                <ComponentToLazyLoad />
            </Suspense>
        </div>
    )
  }
}

如何使用可加載組件實現相同的目標

我相信解決問題的最佳方法是按照 loadable-components 的作者的建議繼續使用 React.lazy,因為“它不再維護,並且與 Webpack v4+ 和 Babel v7+ 不兼容”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM