首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个类导出的js的可加载导入

从多个类导出的js的可加载导入
EN

Stack Overflow用户
提问于 2018-05-02 15:03:05
回答 3查看 4.3K关注 0票数 5

如何从在js中导出的多个类导入react-loadable文件。

我正在尝试使用CustomButton中的react-loadableMyButton.js导入Home.js。这是我唯一知道的办法,就是不起作用。

MyButton.js

代码语言:javascript
复制
import {
  CustomButton,
  BUTTON_STYLE,
  BUTTON_TYPE,
  BUTTON_SIZE,
  BUTTON_ALIGN,
  COLOR
} from './buttons';
module.exports = {
  CustomButton,
  BUTTON_STYLE,
  BUTTON_TYPE,
  BUTTON_SIZE,
  BUTTON_ALIGN,
  COLOR
}

Home.js

代码语言:javascript
复制
const AsyncButton = Loadable({
  loader: () => import('../../button/MyButton'),
  loading: Loading
});

请帮帮忙。提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-10 01:23:52

我就是这样做的:

代码语言:javascript
复制
const AsyncButton = Loadable({
  loader: () => import('../../button/MyButton').then(module => module.CustomButton),
  loading: Loading
});

但是,我无法找到一个变量包含所有其他导出的位置。

票数 8
EN

Stack Overflow用户

发布于 2018-05-16 06:43:53

我找到了一个解决办法

react可加载文档

代码语言:javascript
复制
Loadable({
  loader: () => import('./my-component'),
  render(loaded, props) {
    let Component = loaded.namedExport;
    return <Component {...props}/>;
  }
});

起作用了。

票数 4
EN

Stack Overflow用户

发布于 2018-07-03 17:31:23

我知道这是个答案,但我想出了一种方法来获得一个变量来包含所有名为exports的变量。见下文。

代码语言:javascript
复制
    AsyncSubSites = namedComponent => Loadable({
    loader: () =>
      import( /*webpackChunkName: "SubSites"*/ "./SubSites/SubSites"),
    loading: () => <Loading/>, //loader/spinner etc.
    modules: ["SubSites"],
    render(loaded, props) {
      let Component = loaded[namedComponent];
      return <Component {...props}/>;
    }
  })

和反应路由器一起作为.

代码语言:javascript
复制
<Route path="/:slug" exact component={AsyncSubSites('Membership')} />
<Route path="/:slug" exact component={AsyncSubSites('About')} />

不管是什么名字

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50137801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档