1 | import React from 'react'
|
2 |
|
3 | const DefaultWrapper = (props) => (
|
4 | <div>{props.children}</div>
|
5 | )
|
6 |
|
7 | class ComponentRenderer extends React.Component {
|
8 | constructor(props) {
|
9 | super(props)
|
10 | this.Wrapper = window._CustomWrapper || DefaultWrapper
|
11 | this.state = {
|
12 | hasError: false,
|
13 | error: null,
|
14 | }
|
15 | }
|
16 |
|
17 | componentDidCatch(error) {
|
18 | console.log(error.message)
|
19 | }
|
20 |
|
21 | render() {
|
22 | const { children } = this.props
|
23 | return (
|
24 | <this.Wrapper {...this.props}>
|
25 | {children}
|
26 | </this.Wrapper>
|
27 | )
|
28 | }
|
29 | }
|
30 |
|
31 | export default ComponentRenderer
|