[ReactNative] Fix switching to null event listener
This commit is contained in:
parent
f4c7bb1103
commit
0f3ea9fb8c
|
@ -27,6 +27,7 @@ var warning = require('warning');
|
||||||
|
|
||||||
var registrationNames = ReactNativeEventEmitter.registrationNames;
|
var registrationNames = ReactNativeEventEmitter.registrationNames;
|
||||||
var putListener = ReactNativeEventEmitter.putListener;
|
var putListener = ReactNativeEventEmitter.putListener;
|
||||||
|
var deleteListener = ReactNativeEventEmitter.deleteListener;
|
||||||
var deleteAllListeners = ReactNativeEventEmitter.deleteAllListeners;
|
var deleteAllListeners = ReactNativeEventEmitter.deleteAllListeners;
|
||||||
|
|
||||||
type ReactNativeBaseComponentViewConfig = {
|
type ReactNativeBaseComponentViewConfig = {
|
||||||
|
@ -230,7 +231,11 @@ ReactNativeBaseComponent.Mixin = {
|
||||||
_reconcileListenersUponUpdate: function(prevProps, nextProps) {
|
_reconcileListenersUponUpdate: function(prevProps, nextProps) {
|
||||||
for (var key in nextProps) {
|
for (var key in nextProps) {
|
||||||
if (registrationNames[key] && (nextProps[key] !== prevProps[key])) {
|
if (registrationNames[key] && (nextProps[key] !== prevProps[key])) {
|
||||||
putListener(this._rootNodeID, key, nextProps[key]);
|
if (nextProps[key]) {
|
||||||
|
putListener(this._rootNodeID, key, nextProps[key]);
|
||||||
|
} else {
|
||||||
|
deleteListener(this._rootNodeID, key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue