@@ -83,19 +83,21 @@ export class ComponentWalker {
8383 */
8484 private getInternalInstanceChildren ( subTree , suspense = null ) {
8585 const list = [ ]
86- if ( subTree . component ) {
87- ! suspense ? list . push ( subTree . component ) : list . push ( { ...subTree . component , suspense } )
88- } else if ( subTree . suspense ) {
89- const suspenseKey = ! subTree . suspense . isInFallback ? 'suspense default' : 'suspense fallback'
90- list . push ( ...this . getInternalInstanceChildren ( subTree . suspense . activeBranch , { ...subTree . suspense , suspenseKey } ) )
91- } else if ( Array . isArray ( subTree . children ) ) {
92- subTree . children . forEach ( childSubTree => {
93- if ( childSubTree . component ) {
94- ! suspense ? list . push ( childSubTree . component ) : list . push ( { ...childSubTree . component , suspense } )
95- } else {
96- list . push ( ...this . getInternalInstanceChildren ( childSubTree , suspense ) )
97- }
98- } )
86+ if ( subTree ) {
87+ if ( subTree . component ) {
88+ ! suspense ? list . push ( subTree . component ) : list . push ( { ...subTree . component , suspense } )
89+ } else if ( subTree . suspense ) {
90+ const suspenseKey = ! subTree . suspense . isInFallback ? 'suspense default' : 'suspense fallback'
91+ list . push ( ...this . getInternalInstanceChildren ( subTree . suspense . activeBranch , { ...subTree . suspense , suspenseKey } ) )
92+ } else if ( Array . isArray ( subTree . children ) ) {
93+ subTree . children . forEach ( childSubTree => {
94+ if ( childSubTree . component ) {
95+ ! suspense ? list . push ( childSubTree . component ) : list . push ( { ...childSubTree . component , suspense } )
96+ } else {
97+ list . push ( ...this . getInternalInstanceChildren ( childSubTree , suspense ) )
98+ }
99+ } )
100+ }
99101 }
100102 return list . filter ( child => ! isBeingDestroyed ( child ) && ! child . type . devtools ?. hide )
101103 }
0 commit comments