diff --git a/scripts/fiber/tests-failing.txt b/scripts/fiber/tests-failing.txt
index 3bd47469acf98..8127ab8a7c9b5 100644
--- a/scripts/fiber/tests-failing.txt
+++ b/scripts/fiber/tests-failing.txt
@@ -1,6 +1,3 @@
-src/isomorphic/classic/__tests__/ReactContextValidator-test.js
-* should pass previous context to lifecycles
-
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
* gives source code refs for unknown prop warning (ssr)
* gives source code refs for unknown prop warning for exact elements (ssr)
diff --git a/scripts/fiber/tests-passing.txt b/scripts/fiber/tests-passing.txt
index d46c7938614b0..decc4bd5b943b 100644
--- a/scripts/fiber/tests-passing.txt
+++ b/scripts/fiber/tests-passing.txt
@@ -89,6 +89,7 @@ src/isomorphic/children/__tests__/onlyChild-test.js
src/isomorphic/classic/__tests__/ReactContextValidator-test.js
* should filter out context not in contextTypes
* should pass next context to lifecycles
+* should not pass previous context to lifecycles
* should check context types
* should check child context types
* should warn (but not error) if getChildContext method is missing
diff --git a/src/isomorphic/classic/__tests__/ReactContextValidator-test.js b/src/isomorphic/classic/__tests__/ReactContextValidator-test.js
index 0630f588cc7a2..000b3f7c6120a 100644
--- a/src/isomorphic/classic/__tests__/ReactContextValidator-test.js
+++ b/src/isomorphic/classic/__tests__/ReactContextValidator-test.js
@@ -125,14 +125,13 @@ describe('ReactContextValidator', () => {
expect(actualComponentWillUpdate).toEqual({foo: 'def'});
});
- it('should pass previous context to lifecycles', () => {
+ it('should not pass previous context to lifecycles', () => {
var actualComponentDidUpdate;
class Parent extends React.Component {
getChildContext() {
return {
foo: this.props.foo,
- bar: 'bar',
};
}
@@ -142,12 +141,11 @@ describe('ReactContextValidator', () => {
}
Parent.childContextTypes = {
foo: PropTypes.string.isRequired,
- bar: PropTypes.string.isRequired,
};
class Component extends React.Component {
- componentDidUpdate(prevProps, prevState, prevContext) {
- actualComponentDidUpdate = prevContext;
+ componentDidUpdate(...args) {
+ actualComponentDidUpdate = args;
}
render() {
@@ -161,7 +159,7 @@ describe('ReactContextValidator', () => {
var container = document.createElement('div');
ReactDOM.render(, container);
ReactDOM.render(, container);
- expect(actualComponentDidUpdate).toEqual({foo: 'abc'});
+ expect(actualComponentDidUpdate).toHaveLength(2);
});
it('should check context types', () => {
diff --git a/src/renderers/__tests__/ReactCompositeComponent-test.js b/src/renderers/__tests__/ReactCompositeComponent-test.js
index f26613088739b..543ca7bda991d 100644
--- a/src/renderers/__tests__/ReactCompositeComponent-test.js
+++ b/src/renderers/__tests__/ReactCompositeComponent-test.js
@@ -15,7 +15,6 @@ var ChildUpdates;
var MorphingComponent;
var React;
var ReactDOM;
-var ReactDOMFeatureFlags;
var ReactDOMServer;
var ReactCurrentOwner;
var ReactPropTypes;
@@ -28,7 +27,6 @@ describe('ReactCompositeComponent', () => {
jest.resetModules();
React = require('react');
ReactDOM = require('react-dom');
- ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
ReactDOMServer = require('react-dom/server');
ReactCurrentOwner = require('ReactCurrentOwner');
ReactPropTypes = require('ReactPropTypes');
@@ -806,13 +804,6 @@ describe('ReactCompositeComponent', () => {
expect('foo' in nextContext).toBe(true);
}
- componentDidUpdate(prevProps, prevState, prevContext) {
- if (!ReactDOMFeatureFlags.useFiber) {
- // Fiber does not pass the previous context.
- expect('foo' in prevContext).toBe(true);
- }
- }
-
shouldComponentUpdate(nextProps, nextState, nextContext) {
expect('foo' in nextContext).toBe(true);
return true;
@@ -828,13 +819,6 @@ describe('ReactCompositeComponent', () => {
expect('foo' in nextContext).toBe(false);
}
- componentDidUpdate(prevProps, prevState, prevContext) {
- if (!ReactDOMFeatureFlags.useFiber) {
- // Fiber does not pass the previous context.
- expect('foo' in prevContext).toBe(false);
- }
- }
-
shouldComponentUpdate(nextProps, nextState, nextContext) {
expect('foo' in nextContext).toBe(false);
return true;
diff --git a/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js b/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js
index fe7ff49ba5369..e962b89b861b2 100644
--- a/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js
+++ b/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js
@@ -1022,11 +1022,9 @@ var ReactCompositeComponent = {
var hasComponentDidUpdate = !!inst.componentDidUpdate;
var prevProps;
var prevState;
- var prevContext;
if (hasComponentDidUpdate) {
prevProps = inst.props;
prevState = inst.state;
- prevContext = inst.context;
}
if (inst.componentWillUpdate) {
@@ -1060,12 +1058,7 @@ var ReactCompositeComponent = {
if (__DEV__) {
transaction.getReactMountReady().enqueue(() => {
measureLifeCyclePerf(
- inst.componentDidUpdate.bind(
- inst,
- prevProps,
- prevState,
- prevContext,
- ),
+ inst.componentDidUpdate.bind(inst, prevProps, prevState),
this._debugID,
'componentDidUpdate',
);
@@ -1074,12 +1067,7 @@ var ReactCompositeComponent = {
transaction
.getReactMountReady()
.enqueue(
- inst.componentDidUpdate.bind(
- inst,
- prevProps,
- prevState,
- prevContext,
- ),
+ inst.componentDidUpdate.bind(inst, prevProps, prevState),
inst,
);
}