Skip to content

Commit 03e5754

Browse files
committed
Add DOM hydrate mismatch unit tests and fixtures/ssr
1 parent 64e3da2 commit 03e5754

File tree

9 files changed

+1494
-35
lines changed

9 files changed

+1494
-35
lines changed

fixtures/ssr/server/render.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ if (process.env.NODE_ENV === 'development') {
1414
assets = require('../build/asset-manifest.json');
1515
}
1616

17-
export default function render() {
18-
var html = renderToString(<App assets={assets} />);
17+
export default function render(url) {
18+
var html = renderToString(<App assets={assets} url={url} />);
1919
// There's no way to render a doctype in React so prepend manually.
2020
// Also append a bootstrap script tag.
2121
return '<!DOCTYPE html>' + html;

fixtures/ssr/src/components/App.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ import Chrome from './Chrome';
44
import Page from './Page';
55
import Page2 from './Page2';
66
import Theme from './Theme';
7+
import SSRMismatchTest from './SSRMismatchTest';
78

89
function LoadingIndicator() {
910
let theme = useContext(Theme);
1011
return <div className={theme + '-loading'}>Loading...</div>;
1112
}
1213

13-
export default function App({assets}) {
14+
export default function App({assets, url}) {
1415
let [CurrentPage, switchPage] = useState(() => Page);
1516
return (
1617
<Chrome title="Hello World" assets={assets}>
@@ -27,6 +28,9 @@ export default function App({assets}) {
2728
<CurrentPage />
2829
</Suspense>
2930
</div>
31+
<div>
32+
<SSRMismatchTest url={url} />
33+
</div>
3034
</Chrome>
3135
);
3236
}

0 commit comments

Comments
 (0)