@@ -83,19 +83,21 @@ export class ComponentWalker {
83
83
*/
84
84
private getInternalInstanceChildren ( subTree , suspense = null ) {
85
85
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
+ }
99
101
}
100
102
return list . filter ( child => ! isBeingDestroyed ( child ) && ! child . type . devtools ?. hide )
101
103
}
0 commit comments