gab-social/app/javascript/gabsocial/features/ui/util/wrapped_bundle.js
mgabdev a72ea2b525 Updated panels to be async_components
• Updated:
- panels to be async_components

• Added:
- WrappedBundle
2020-08-12 17:52:46 -05:00

40 lines
744 B
JavaScript

import Bundle from './bundle'
class WrappedBundle extends PureComponent {
render() {
const {
component,
componentParams,
errorComponent,
loadingComponent,
} = this.props
console.log("WrappedBundle:", this.props)
return (
<Bundle
fetchComponent={component}
loading={loadingComponent}
error={errorComponent}
>
{
Component =>
(
<Component {...componentParams} />
)
}
</Bundle>
)
}
}
WrappedBundle.propTypes = {
component: PropTypes.func.isRequired,
componentParams: PropTypes.object,
errorComponent: PropTypes.object,
loadingComponent: PropTypes.object,
}
export default WrappedBundle