本文主要是介绍023 react动态加载组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先介绍下动态加载函数:
require.ensure([], (require)=>{ //.default 是为了使用被引入文件的 default输出项let A = require('./a.js').default;
})
或者直接:
//.default 是为了使用被引入文件的 default输出项
let A = require('./a.js').default;
如果想要动态加载出es6代码组件,直接require一个es6风格的组件是不行的,因为一般的语言编译工具(如babel),不支持直接require一个es6风格的组件。
那么有种办法可以解决:在es6方式书写的组件底部增加一句:module.exports = YouclassName;
import React, {Component} from 'react';export default class Father extends Component {constructor(props)=> {super();this.state = {currentComponent: null}}doSomething = () => {require.ensure(['./app2'], (require) => {const Comp = require('./app2');this.setState({currentComponent: <Comp/>})})}render(){return (<div><span onClick={this.doSomething}> 点击后,按需加载模块~ </span> {this.state.currentComponent}</div>)}
}
这篇关于023 react动态加载组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!