diff --git a/packages/react-test-renderer/src/ReactShallowRenderer.js b/packages/react-test-renderer/src/ReactShallowRenderer.js index ef50aafa28d..6c55709bca6 100644 --- a/packages/react-test-renderer/src/ReactShallowRenderer.js +++ b/packages/react-test-renderer/src/ReactShallowRenderer.js @@ -125,7 +125,7 @@ class ReactShallowRenderer { _mountClassComponent(props, context) { this._instance.context = context; this._instance.props = props; - this._instance.state = this._instance.state || emptyObject; + this._instance.state = this._instance.state || null; this._instance.updater = this._updater; if (typeof this._instance.componentWillMount === 'function') { diff --git a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js index a2e572e7bd3..fc76810aa1f 100644 --- a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js +++ b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js @@ -947,4 +947,17 @@ describe('ReactShallowRenderer', () => { renderAndVerifyWarningAndError([], 'array'); renderAndVerifyWarningAndError({}, 'object'); }); + + it('should have initial state of null if not defined', () => { + class SomeComponent extends React.Component { + render() { + return ; + } + } + + const shallowRenderer = createRenderer(); + shallowRenderer.render(); + + expect(shallowRenderer.getMountedInstance().state).toBeNull(); + }); });