Skip to content

Commit 50c38bb

Browse files
committed
Merge pull request facebook#3023 from sebmarkbage/devtoolsfix
Expose ReactReconciler
2 parents 1172f63 + e67ff7e commit 50c38bb

File tree

3 files changed

+22
-8
lines changed

3 files changed

+22
-8
lines changed

src/browser/ui/React.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
'use strict';
1515

16-
var DOMPropertyOperations = require('DOMPropertyOperations');
1716
var EventPluginUtils = require('EventPluginUtils');
1817
var ReactChildren = require('ReactChildren');
1918
var ReactComponent = require('ReactComponent');
@@ -23,14 +22,13 @@ var ReactCurrentOwner = require('ReactCurrentOwner');
2322
var ReactElement = require('ReactElement');
2423
var ReactElementValidator = require('ReactElementValidator');
2524
var ReactDOM = require('ReactDOM');
26-
var ReactDOMComponent = require('ReactDOMComponent');
2725
var ReactDOMTextComponent = require('ReactDOMTextComponent');
2826
var ReactDefaultInjection = require('ReactDefaultInjection');
2927
var ReactInstanceHandles = require('ReactInstanceHandles');
3028
var ReactMount = require('ReactMount');
31-
var ReactMultiChild = require('ReactMultiChild');
3229
var ReactPerf = require('ReactPerf');
3330
var ReactPropTypes = require('ReactPropTypes');
31+
var ReactReconciler = require('ReactReconciler');
3432
var ReactServerRendering = require('ReactServerRendering');
3533

3634
var assign = require('Object.assign');
@@ -89,13 +87,10 @@ if (
8987
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&
9088
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
9189
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
92-
// TODO: Inject a hook for notifying devtools of updates
9390
CurrentOwner: ReactCurrentOwner,
94-
DOMComponent: ReactDOMComponent,
95-
DOMPropertyOperations: DOMPropertyOperations,
9691
InstanceHandles: ReactInstanceHandles,
9792
Mount: ReactMount,
98-
MultiChild: ReactMultiChild,
93+
Reconciler: ReactReconciler,
9994
TextComponent: ReactDOMTextComponent
10095
});
10196
}

src/core/ReactReconciler.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,20 @@ var ReactReconciler = {
100100
if (refsChanged) {
101101
transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
102102
}
103+
},
104+
105+
/**
106+
* Flush any dirty changes in a component.
107+
*
108+
* @param {ReactComponent} internalInstance
109+
* @param {ReactReconcileTransaction} transaction
110+
* @internal
111+
*/
112+
performUpdateIfNecessary: function(
113+
internalInstance,
114+
transaction
115+
) {
116+
internalInstance.performUpdateIfNecessary(transaction);
103117
}
104118

105119
};

src/core/ReactUpdates.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ var CallbackQueue = require('CallbackQueue');
1515
var PooledClass = require('PooledClass');
1616
var ReactCurrentOwner = require('ReactCurrentOwner');
1717
var ReactPerf = require('ReactPerf');
18+
var ReactReconciler = require('ReactReconciler');
1819
var Transaction = require('Transaction');
1920

2021
var assign = require('Object.assign');
@@ -146,7 +147,11 @@ function runBatchedUpdates(transaction) {
146147
// stash the callbacks first
147148
var callbacks = component._pendingCallbacks;
148149
component._pendingCallbacks = null;
149-
component.performUpdateIfNecessary(transaction.reconcileTransaction);
150+
151+
ReactReconciler.performUpdateIfNecessary(
152+
component,
153+
transaction.reconcileTransaction
154+
);
150155

151156
if (callbacks) {
152157
for (var j = 0; j < callbacks.length; j++) {

0 commit comments

Comments
 (0)