-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
31 lines (25 loc) · 677 Bytes
/
Copy pathindex.js
File metadata and controls
31 lines (25 loc) · 677 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var _ = require('lodash');
var Component = require('./Component');
var cache = require('./cache');
var reactRender = function reactRender(opts, cb) {
var _opts = _.pick(opts, 'component', 'path', 'pathToReact');
var component = cache.find(_opts);
if (!component) {
component = new Component(_opts);
cache.add(component);
}
var props = opts.props;
if (!props && opts.serializedProps) {
try {
props = JSON.parse(opts.serializedProps);
} catch(err) {
cb(err);
}
}
if (opts.toStaticMarkup) {
component.renderToStaticMarkup(props, cb);
} else {
component.renderToString(props, cb);
}
};
module.exports = reactRender;