Skip to content

Commit 186dd15

Browse files
author
Sergey Zarouski
committed
Merge pull request #3 from szarouski/developer
add description for isomorphic rendering
2 parents b73c9c7 + e491865 commit 186dd15

2 files changed

Lines changed: 42 additions & 1 deletion

File tree

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,45 @@ module.exports = React.createClass({
7272
);
7373
}
7474
});
75+
```
76+
77+
## Isomorphic (client + server side) rendering
78+
79+
Note, you might get warnings that checksum are different when you try to use server and client side rendering together. That might happen because on server side (sourcejs) checksum will be created for the whole spec page, while you might be interested only in what goes in `section.source_example`. You need to force react to create a checksum in a following way (for example above):
80+
```js
81+
var React = require('react/addons');
82+
var Button = require('button.jsx');
83+
module.exports = React.createClass({
84+
render: function () {
85+
var factory = React.createFactory(Button);
86+
var button = React.renderToString(factory({
87+
children: 'Btn Copy Gibson Reg; 1.2em'
88+
}));
89+
var buttonWhite = React.renderToString(factory({
90+
modifier: 'white',
91+
children: 'Btn Copy Gibson Reg; 1.2em'
92+
}));
93+
return (
94+
<div>
95+
<link rel="stylesheet" href="source-example.css" />
96+
97+
<h1>Button</h1>
98+
99+
<div className="source_info">
100+
<p>Various button treatments.</p>
101+
</div>
102+
103+
<section className="source_section">
104+
<h2>Button (Purple)</h2>
105+
<div className="source_example" dangerouslySetInnerHTML={{__html: button}}></div>
106+
</section>
107+
108+
<section className="source_section">
109+
<h2>Button (White)</h2>
110+
<div className="source_example" dangerouslySetInnerHTML={{__html: buttonWhite}}></div>
111+
</section>
112+
</div>
113+
);
114+
}
115+
});
75116
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sourcejs-react",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "React middleware for sourcejs.com",
55
"main": "index.js",
66
"dependencies": {

0 commit comments

Comments
 (0)