gab-social/app/javascript/gabsocial/features/ui/util/wrapped_bundle.js

39 lines
729 B
JavaScript
Raw Normal View History

import React from 'react'
import Bundle from './bundle'
class WrappedBundle extends React.PureComponent {
render() {
const {
component,
componentParams,
errorComponent,
loadingComponent,
} = 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