Skip to content

Commit 40e4859

Browse files
committed
Use ReactDOMServer.renderToString() to render React Component
1 parent 0af69d2 commit 40e4859

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/index.jsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import React from 'react';
22
import ReactDOM from 'react-dom';
3+
import ReactDOMServer from 'react-dom/server';
34
import InfiniteTree from 'infinite-tree';
5+
import { defaultRowRenderer } from './renderer';
46

57
const lcfirst = (str) => {
68
str += '';
@@ -27,6 +29,16 @@ module.exports = class extends React.Component {
2729
const el = ReactDOM.findDOMNode(this);
2830
options.el = el;
2931

32+
const rowRenderer = options.rowRenderer || defaultRowRenderer;
33+
options.rowRenderer = (node, opts) => {
34+
let row = rowRenderer(node, opts);
35+
if (typeof row === 'object') {
36+
// Use ReactDOMServer.renderToString() to render React Component
37+
row = ReactDOMServer.renderToString(row);
38+
}
39+
return row;
40+
};
41+
3042
this.tree = new InfiniteTree(options);
3143

3244
Object.keys(this.eventHandlers).forEach(key => {

0 commit comments

Comments
 (0)