Skip to content

Commit 74bc699

Browse files
committed
fix complex object json string bug
1 parent 947174b commit 74bc699

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

lib/react-helper.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1+
require("babel-register");
12
const reactDom = require('react-dom');
23
const React = require('react');
3-
var ReactDOMServer = require('react-dom/server');
4-
require("babel-register");
4+
const ReactDOMServer = require('react-dom/server');
5+
const escapeHtml = require('escape-html');
56

67
module.exports.register = function(component) {
7-
var componentName = Object.keys(component)[0];
8-
var dest = document.getElementById('react-helper-component-' + componentName.toLowerCase());
8+
const componentName = Object.keys(component)[0];
9+
const dest = document.getElementById('react-helper-component-' + componentName.toLowerCase());
910
if (dest) {
10-
var propString = dest.getAttribute('data-component-properties');
11-
var props = {};
11+
const propString = dest.getAttribute('data-component-properties');
12+
let props = {};
1213
if (propString) {
1314
props = JSON.parse(propString);
1415
}
@@ -19,8 +20,8 @@ module.exports.register = function(component) {
1920
};
2021

2122
module.exports.renderComponent = function(component, props) {
22-
var propsString = JSON.stringify(props) || '';
23-
var content = '';
23+
const propsString = escapeHtml(JSON.stringify(props)) || '';
24+
let content = '';
2425
if (typeof component === 'function') {
2526
content = ReactDOMServer.renderToString(React.createElement(component, props))
2627
component = component.name
@@ -31,5 +32,5 @@ module.exports.renderComponent = function(component, props) {
3132
component = component.name
3233
}
3334
}
34-
return '<div id="react-helper-component-'+component.toLowerCase()+'" data-component-properties='+ propsString +'>'+ content + '</div>';
35+
return '<div id="react-helper-component-'+component.toLowerCase()+'" data-component-properties="'+ propsString +'">'+ content + '</div>';
3536
};

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-helper",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"description": "A helper that makes it extremely easy to add react to your node app.",
55
"main": "index.js",
66
"scripts": {
@@ -15,6 +15,7 @@
1515
"license": "ISC",
1616
"dependencies": {
1717
"babel-register": "^6.18.0",
18+
"escape-html": "^1.0.3",
1819
"react": "^15.3.2",
1920
"react-dom": "^15.3.2"
2021
}

0 commit comments

Comments
 (0)