From 90a7b3525bf0c7a5db7d0936782a0fc5990bb84b Mon Sep 17 00:00:00 2001 From: Toru Kobayashi Date: Tue, 24 Apr 2018 18:47:29 +0900 Subject: [PATCH] Call getDerivedStateFromProps even for setState of ShallowRenderer --- packages/react-test-renderer/src/ReactShallowRenderer.js | 3 +-- .../src/__tests__/ReactShallowRenderer-test.js | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/react-test-renderer/src/ReactShallowRenderer.js b/packages/react-test-renderer/src/ReactShallowRenderer.js index 131db2d417511..49be844e8be8e 100644 --- a/packages/react-test-renderer/src/ReactShallowRenderer.js +++ b/packages/react-test-renderer/src/ReactShallowRenderer.js @@ -186,9 +186,8 @@ class ReactShallowRenderer { this._instance.UNSAFE_componentWillReceiveProps(props, context); } } - - this._updateStateFromStaticLifecycle(props); } + this._updateStateFromStaticLifecycle(props); // Read state after cWRP in case it calls setState const state = this._newState || oldState; diff --git a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js index 7e60bde00367f..59ea0d9c690b1 100644 --- a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js +++ b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js @@ -94,7 +94,7 @@ describe('ReactShallowRenderer', () => { const instance = shallowRenderer.getMountedInstance(); instance.setState({}); - expect(logs).toEqual(['shouldComponentUpdate']); + expect(logs).toEqual(['getDerivedStateFromProps', 'shouldComponentUpdate']); logs.splice(0);