See this example: https://github.com/facebook/react/issues/11508#issuecomment-345464797.

I think it probably reflects a misunderstanding of how props and state work, and we should detect and warn if we see this.
getSnapshotBeforeUpdate() {
        return null;
      }
      render() {
        return null;
      }
    }
    const div = document.createElement('div');
    expect(() => ReactDOM.render(<MyComponent />, div)).toWarnDev(
      'MyComponent: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' +
        'This component defines getSnapshotBeforeUpdate() only.',
      {withoutStack: true},
    );
    
    ReactDOM.render(<MyComponent />, div);
  });
});