[ReactNative] Fix some mount callback issues

This commit is contained in:
Spencer Ahrens 2015-05-15 10:54:25 -07:00
parent 2497c02e38
commit 4771806c44
2 changed files with 13 additions and 24 deletions

View File

@ -20,7 +20,6 @@ var findNodeHandle = require('findNodeHandle');
var flattenStyle = require('flattenStyle');
var invariant = require('invariant');
var mergeFast = require('mergeFast');
var mountSafeCallback = require('mountSafeCallback');
var precomputeStyle = require('precomputeStyle');
type MeasureOnSuccessCallback = (
@ -161,4 +160,17 @@ if (__DEV__) {
};
}
/**
* In the future, we should cleanup callbacks by cancelling them instead of
* using this.
*/
var mountSafeCallback = function(context: ReactComponent, callback: ?Function): any {
return function() {
if (!callback || (context.isMounted && !context.isMounted())) {
return;
}
return callback.apply(context, arguments);
};
};
module.exports = NativeMethodsMixin;

View File

@ -1,23 +0,0 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule mountSafeCallback
* @flow
*/
'use strict';
var mountSafeCallback = function(context: ReactComponent, callback: ?Function): any {
return function() {
if (!callback || !context.isMounted()) {
return;
}
return callback.apply(context, arguments);
};
};
module.exports = mountSafeCallback;