File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 1919
2020'use strict' ;
2121
22+ import type { Fiber } from 'ReactFiber' ;
23+
2224var ReactFiberReconciler = require ( 'ReactFiberReconciler' ) ;
2325
2426var scheduledHighPriCallback = null ;
@@ -83,6 +85,35 @@ var ReactNoop = {
8385 ReactNoop . flushLowPri ( ) ;
8486 } ,
8587
88+ // Logs the current state of the tree.
89+ dumpTree ( ) {
90+ if ( ! root ) {
91+ console . log ( 'Nothing rendered yet.' ) ;
92+ return ;
93+ }
94+ let fiber : Fiber = ( root . stateNode : any ) . current ;
95+ let depth = 0 ;
96+ while ( fiber ) {
97+ console . log ( ' ' . repeat ( depth ) + '- ' + ( fiber . type ? fiber . type . name || fiber . type : '[root]' ) , '[' + fiber . pendingWorkPriority + ( fiber . pendingProps ? '*' : '' ) + ']' ) ;
98+ if ( fiber . child ) {
99+ fiber = fiber . child ;
100+ depth ++ ;
101+ continue ;
102+ } else {
103+ while ( ! fiber . sibling ) {
104+ if ( ! fiber . parent ) {
105+ return ;
106+ } else {
107+ // $FlowFixMe: This downcast is not safe. It is intentionally an error.
108+ fiber = fiber . parent ;
109+ }
110+ depth -- ;
111+ }
112+ fiber = fiber . sibling ;
113+ }
114+ }
115+ } ,
116+
86117} ;
87118
88119module . exports = ReactNoop ;
You can’t perform that action at this time.
0 commit comments