diff --git a/src/__tests__/__node__/prepare-render.node.js b/src/__tests__/__node__/prepare-render.node.js
index b7a1239..851cbb6 100644
--- a/src/__tests__/__node__/prepare-render.node.js
+++ b/src/__tests__/__node__/prepare-render.node.js
@@ -386,3 +386,19 @@ tape('Preparing an async app with componentWillReceiveProps option', t => {
t.end();
});
});
+
+tape('Preparing a Fragment', t => {
+ const app = (
+
+ 1
+ 2
+
+ );
+ const p = prepare(app);
+ t.ok(p instanceof Promise, 'prepare returns a promise');
+ p.then(() => {
+ const wrapper = shallow(
{app}
);
+ t.equal(wrapper.find('span').length, 2, 'has two children');
+ t.end();
+ });
+});
diff --git a/src/prepare.js b/src/prepare.js
index 5a756fe..f390831 100644
--- a/src/prepare.js
+++ b/src/prepare.js
@@ -41,7 +41,10 @@ function prepareElement(element, context) {
return Promise.resolve([null, context]);
}
const {type, props} = element;
- if (typeof type === 'string') {
+ if (
+ typeof type === 'string' ||
+ type.toString() === React.Fragment.toString()
+ ) {
return Promise.resolve([props.children, context]);
}
if (!isReactCompositeComponent(type)) {