For consideration.

These warnings are already covered by renderers based on react-reconciler. Maybe we don't gain that much by mirroring them in the shallow renderer? Maybe it's not worth the added complexity? Particularly with more complicated warnings like the ones being added for #12419 and #12404.
static getDerivedStateFromProps() {
        return null;
      }
      render() {
        return null;
      }
    }
    const shallowRenderer = createRenderer();
    expect(() => shallowRenderer.render(<Component />)).toWarnDev(
      'Component: Did not properly initialize state during construction. ' +
        'Expected state to be an object, but it was undefined.',
    );
    
    shallowRenderer.render(<Component />);
  });
  it('should invoke both deprecated and new lifecycles if both are present', () => {
    const log = [];
    class Component extends React.Component {
      componentWillMount() {
        log.push('componentWillMount');
      }
      componentWillReceiveProps() {
        log.push('componentWillReceiveProps');
      }
      componentWillUpdate() {