rc-adminlte
Version:
AdminLTE template ported to React
30 lines (22 loc) • 578 B
JSX
import React, { Component } from 'react';
export default function asyncComponent(importComponent) {
class AsyncComponent extends Component {
constructor(props) {
super(props);
this.state = {
component: null,
};
}
async componentDidMount() {
const { default: component } = await importComponent();
this.setState({
component,
});
}
render() {
const { component: C } = this.state;
return C ? <C {...this.props} /> : null;
}
}
return AsyncComponent;
}