Skip to content
This repository has been archived by the owner on Aug 1, 2018. It is now read-only.

Commit

Permalink
Support React.Fragment
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinGrandon committed Mar 22, 2018
1 parent fda3fb2 commit cb8528c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
16 changes: 16 additions & 0 deletions src/__tests__/__node__/prepare-render.node.js
Original file line number Diff line number Diff line change
Expand Up @@ -386,3 +386,19 @@ tape('Preparing an async app with componentWillReceiveProps option', t => {
t.end();
});
});

tape('Preparing a Fragment', t => {
const app = (
<React.Fragment>
<span>1</span>
<span>2</span>
</React.Fragment>
);
const p = prepare(app);
t.ok(p instanceof Promise, 'prepare returns a promise');
p.then(() => {
const wrapper = shallow(<div>{app}</div>);
t.equal(wrapper.find('span').length, 2, 'has two children');
t.end();
});
});
5 changes: 4 additions & 1 deletion src/prepare.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down

0 comments on commit cb8528c

Please sign in to comment.