javascript - 如何在 Javascript/ReactJs/React Native 中动态导入模块

标签 javascript reactjs react-native

我想从路径动态导入模块 importPath 通过Props设置。

var importPath;

class MainComponent extends Component {
    state = {}
    render() {
        // Set var importPath = "path_to_module here;"
        // importPath = this.props.myModulePath
        return (
            <ComponentToImport myComponentPath="./ToastExample" />);
    }
}

export default MainComponent;

然后:

class ComponentToImport extends Component {
    ToastExample: (async () => {
        await import (this.props.revPath)
    })()

    async sayHiFromJava() {
        this.state.ToastExample.showJ('Awesome', ToastExample.SHORT);
    }

    render() {
        return (<ToastExample />);
    }
}

我该如何解决这个问题?

提前谢谢大家。

如何附加 ToastExampleimport ToastExample from importPath;await import("importPath");这样我就可以return(<ToastExample />);

更新

我已经尝试过:

class ComponentToImport extends Component {
    ToastExample: (async () => {
        await import (this.props.revPath)
    })()

    async sayHiFromJava() {
        this.state.ToastExample.showJ('Awesome', ToastExample.SHORT);
    }

    render() {
        return (<ToastExample />);
    }
}

但我收到错误:

error: bundling failed: index.js: index.js:Invalid call at line 28: import(_this.props.myComponentPath)

最佳答案

我想这就是方法:

import("importPath").then(() => {
    // your code
});

await import("importPath");

// your code

在这里查看更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

关于javascript - 如何在 Javascript/ReactJs/React Native 中动态导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59341858/

相关文章:

android - 按键对数组进行排序适用于 iOS,但不适用于 Android

javascript - 为什么不能在 <Image source={}/> 中使用字符串变量? ( native react )

javascript - 如何在html5视频播放器中获取特定时间戳的字幕文本

c# - WebMethod 返回 JSON 对象问题

javascript - 路由更改时未捕获 DOMException hls.js React.js

javascript - 带有 "sub-components"的 ReactJS 组件

react-native - FlatList 在 Android 上的 BottomSheet 中不起作用

javascript - 我可以从 sqlite 查询字符串中获取表名吗?

javascript - 将 JSON 转换为 HTML

javascript - 未处理的 JS 异常 : Can't find variable: process