UNPKG

1.01 kBJavaScriptView Raw
1import React from 'react';
2import RM from 'react-dom';
3
4export default class Render extends React.Component {
5
6 page;
7
8 constructor(props) {
9 super(props);
10 }
11
12 componentDidMount() {
13 this.$renderComp();
14 }
15
16 componentDidUpdate() {
17 this.$renderComp();
18 }
19
20 $renderComp() {
21 const {page} = this.props;
22
23 if (!page) return;
24 page.forEach(p => {
25 const Comp = p.default;
26 if (Comp) {
27 RM.render(<Comp />, document.getElementById(p.id));
28 }
29 });
30 }
31
32 $parseMD(page) {
33 const res = page.map((item, i) => {
34 return <div key={i} dangerouslySetInnerHTML={{ __html: decodeURIComponent(item.md)}} />
35 });
36
37 return res;
38 }
39
40 render() {
41 const {page} = this.props;
42
43 console.log('page:', page)
44
45 if (!page) return <div />;
46
47 return (
48 <div>
49 {this.$parseMD(page)}
50 </div>
51 )
52 }
53}
\No newline at end of file