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, ); }