File tree Expand file tree Collapse file tree
packages/react-dom/src/events Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -143,6 +143,30 @@ export default function accumulateTwoPhaseListeners(
143143 dispatchInstances . push ( node ) ;
144144 }
145145 }
146+ } else if ( enableScopeAPI && node . tag === ScopeComponent ) {
147+ const reactScope = node . stateNode . methods ;
148+ const eventTypeMap = reactScopeListenerStore . get ( reactScope ) ;
149+ if ( eventTypeMap !== undefined ) {
150+ const type = ( ( event . type : any ) : DOMTopLevelEventType ) ;
151+ const listeners = eventTypeMap . get ( type ) ;
152+ if ( listeners !== undefined ) {
153+ const captureListeners = Array . from ( listeners . captured ) ;
154+ const bubbleListeners = Array . from ( listeners . bubbled ) ;
155+
156+ for ( let i = 0 ; i < captureListeners . length ; i ++ ) {
157+ const listener = captureListeners [ i ] ;
158+ const { callback } = listener ;
159+ dispatchListeners . unshift ( callback ) ;
160+ dispatchInstances . unshift ( ( ( lastHostComponent : any ) : Element ) ) ;
161+ }
162+ for ( let i = 0 ; i < bubbleListeners . length ; i ++ ) {
163+ const listener = bubbleListeners [ i ] ;
164+ const { callback } = listener ;
165+ dispatchListeners . push ( callback ) ;
166+ dispatchInstances . push ( ( ( lastHostComponent : any ) : Element ) ) ;
167+ }
168+ }
169+ }
146170 }
147171 if (
148172 enableModernEventSystem &&
You can’t perform that action at this time.
0 commit comments