mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Expose ReactReconciler
This can be used by devtools to monkey patch the reconciler and therefore get notified whenever any internal instance is updated.
This commit is contained in:
@@ -13,7 +13,6 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
var DOMPropertyOperations = require('DOMPropertyOperations');
|
||||
var EventPluginUtils = require('EventPluginUtils');
|
||||
var ReactChildren = require('ReactChildren');
|
||||
var ReactComponent = require('ReactComponent');
|
||||
@@ -23,14 +22,13 @@ var ReactCurrentOwner = require('ReactCurrentOwner');
|
||||
var ReactElement = require('ReactElement');
|
||||
var ReactElementValidator = require('ReactElementValidator');
|
||||
var ReactDOM = require('ReactDOM');
|
||||
var ReactDOMComponent = require('ReactDOMComponent');
|
||||
var ReactDOMTextComponent = require('ReactDOMTextComponent');
|
||||
var ReactDefaultInjection = require('ReactDefaultInjection');
|
||||
var ReactInstanceHandles = require('ReactInstanceHandles');
|
||||
var ReactMount = require('ReactMount');
|
||||
var ReactMultiChild = require('ReactMultiChild');
|
||||
var ReactPerf = require('ReactPerf');
|
||||
var ReactPropTypes = require('ReactPropTypes');
|
||||
var ReactReconciler = require('ReactReconciler');
|
||||
var ReactServerRendering = require('ReactServerRendering');
|
||||
|
||||
var assign = require('Object.assign');
|
||||
@@ -89,13 +87,10 @@ if (
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
|
||||
// TODO: Inject a hook for notifying devtools of updates
|
||||
CurrentOwner: ReactCurrentOwner,
|
||||
DOMComponent: ReactDOMComponent,
|
||||
DOMPropertyOperations: DOMPropertyOperations,
|
||||
InstanceHandles: ReactInstanceHandles,
|
||||
Mount: ReactMount,
|
||||
MultiChild: ReactMultiChild,
|
||||
Reconciler: ReactReconciler,
|
||||
TextComponent: ReactDOMTextComponent
|
||||
});
|
||||
}
|
||||
|
||||
@@ -100,6 +100,20 @@ var ReactReconciler = {
|
||||
if (refsChanged) {
|
||||
transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Flush any dirty changes in a component.
|
||||
*
|
||||
* @param {ReactComponent} internalInstance
|
||||
* @param {ReactReconcileTransaction} transaction
|
||||
* @internal
|
||||
*/
|
||||
performUpdateIfNecessary: function(
|
||||
internalInstance,
|
||||
transaction
|
||||
) {
|
||||
internalInstance.performUpdateIfNecessary(transaction);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -15,6 +15,7 @@ var CallbackQueue = require('CallbackQueue');
|
||||
var PooledClass = require('PooledClass');
|
||||
var ReactCurrentOwner = require('ReactCurrentOwner');
|
||||
var ReactPerf = require('ReactPerf');
|
||||
var ReactReconciler = require('ReactReconciler');
|
||||
var Transaction = require('Transaction');
|
||||
|
||||
var assign = require('Object.assign');
|
||||
@@ -146,7 +147,11 @@ function runBatchedUpdates(transaction) {
|
||||
// stash the callbacks first
|
||||
var callbacks = component._pendingCallbacks;
|
||||
component._pendingCallbacks = null;
|
||||
component.performUpdateIfNecessary(transaction.reconcileTransaction);
|
||||
|
||||
ReactReconciler.performUpdateIfNecessary(
|
||||
component,
|
||||
transaction.reconcileTransaction
|
||||
);
|
||||
|
||||
if (callbacks) {
|
||||
for (var j = 0; j < callbacks.length; j++) {
|
||||
|
||||
Reference in New Issue
Block a user