55 * LICENSE file in the root directory of this source tree.
66 *
77 * @format
8+ * @flow
89 */
910
1011'use strict' ;
@@ -13,11 +14,11 @@ const React = require('react');
1314const createReactClass = require ( 'create-react-class' ) ;
1415const ReactNative = require ( 'react-native' ) ;
1516const RCTNativeAppEventEmitter = require ( 'RCTNativeAppEventEmitter' ) ;
16- const Subscribable = require ( 'Subscribable' ) ;
1717
1818const { View} = ReactNative ;
1919
2020const { TestModule} = ReactNative . NativeModules ;
21+ import type EmitterSubscription from 'EmitterSubscription' ;
2122
2223const reactViewWidth = 101 ;
2324const reactViewHeight = 102 ;
@@ -26,12 +27,11 @@ const newReactViewHeight = 202;
2627
2728const ReactContentSizeUpdateTest = createReactClass ( {
2829 displayName : 'ReactContentSizeUpdateTest' ,
29- mixins : [ Subscribable . Mixin ] ,
3030 _timeoutID : ( null : ?TimeoutID ) ,
31+ _subscription : ( null : ?EmitterSubscription ) ,
3132
3233 UNSAFE_componentWillMount : function ( ) {
33- this . addListenerOn (
34- RCTNativeAppEventEmitter ,
34+ this . _subscription = RCTNativeAppEventEmitter . addListener (
3535 'rootViewDidChangeIntrinsicSize' ,
3636 this . rootViewDidChangeIntrinsicSize ,
3737 ) ;
@@ -61,6 +61,10 @@ const ReactContentSizeUpdateTest = createReactClass({
6161 if ( this . _timeoutID != null ) {
6262 clearTimeout ( this . _timeoutID ) ;
6363 }
64+
65+ if ( this . _subscription != null ) {
66+ this . _subscription . remove ( ) ;
67+ }
6468 } ,
6569
6670 rootViewDidChangeIntrinsicSize : function ( intrinsicSize ) {
0 commit comments