import React from "react"; import { Alert } from "react-bootstrap"; import { COMPONENTS } from './components'; import { IDynamicRenderSettings } from './interfaces/IDynamicRenderSettings'; class DynamicRenderer extends React.Component { /** * Function will be called if the Item has been rendered sucessfully. */ componentDidMount() { const _this = this; if (typeof _this.props.onMount === 'function') { _this.props.onMount(); } } /** * Function, that will be called before the network fails. */ componentWillUnmount() { // Call the unmount if (typeof this.props.onUnmount === 'function') { this.props.onUnmount(); } } constructor(props) { super(props); } public render() { if (typeof this.props.component === 'string'){ if (typeof COMPONENTS[this.props.component] !== "undefined") { return React.createElement(COMPONENTS[this.props.component],{ ...this.props.props}); } // component doesn't exist yet return (<> Componenten with id {this.props.component} not defined in COMPONENTS ); } return React.createElement(this.props.component as any,{ ...this.props.props}); } } export default DynamicRenderer;