File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed
Filter options
Expand file tree Collapse file tree 2 files changed +17
-1
lines changed
Original file line number Diff line number Diff line change @@ -435,7 +435,10 @@ function _renderToString(
435
435
// When a component returns a Fragment node we flatten it in core, so we
436
436
// need to mirror that logic here too
437
437
let isTopLevelFragment =
438
- rendered != null && rendered . type === Fragment && rendered . key == null ;
438
+ rendered != null &&
439
+ rendered . type === Fragment &&
440
+ rendered . key == null &&
441
+ rendered . props . tpl == null ;
439
442
rendered = isTopLevelFragment ? rendered . props . children : rendered ;
440
443
441
444
const renderChildren = ( ) =>
Original file line number Diff line number Diff line change @@ -1686,5 +1686,18 @@ describe('render', () => {
1686
1686
'<div>foo<span>bar</span><p>foo</p><p>bar</p></div>'
1687
1687
) ;
1688
1688
} ) ;
1689
+
1690
+ it ( 'should bypass top level fragment detection' , ( ) => {
1691
+ function Foo ( props ) {
1692
+ return props . children ;
1693
+ }
1694
+ let vnode = (
1695
+ < Foo >
1696
+ < Fragment tpl = { [ '<div>foo' , '</div>' ] } exprs = { [ < span > bar</ span > ] } />
1697
+ </ Foo >
1698
+ ) ;
1699
+ let rendered = render ( vnode ) ;
1700
+ expect ( rendered ) . to . equal ( '<div>foo<span>bar</span></div>' ) ;
1701
+ } ) ;
1689
1702
} ) ;
1690
1703
} ) ;
You can’t perform that action at this time.
0 commit comments