import React, {Component} from 'react'
|
/**
|
* @description 异步加载模块
|
* @param {*} importComponent
|
*/
|
export default function asyncComponent(importComponent) {
|
return class extends Component {
|
constructor(props) {
|
super(props)
|
|
this.state = {
|
component: null
|
}
|
}
|
|
async componentDidMount() {
|
const {default: component} = await importComponent()
|
|
this.setState({component})
|
}
|
|
// <Button className="loading-skeleton" disabled={true}></Button> // 骨架按钮
|
render() {
|
const C = this.state.component
|
|
return C ? <C {...this.props} /> : null
|
}
|
}
|
}
|