<!--
  Note: if the issue is about documentation or the website, please file it at:
  https://github.com/reactjs/reactjs.org/issues/new
-->

**Do you want to request a *feature* or report a *bug*?**
Bug

**What is the current behavior?**
Bailing out doesn't work properly in lazy components with default props. It seems we're incorrectly [comparing unresolved props (oldProps) with resolved props (newProps)](https://github.com/facebook/react/blob/62b04cfa753076d5ffb1d74b855f8f8db36f5186/packages/react-reconciler/src/ReactFiberClassComponent.js#L1100).

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. Your bug will get fixed much faster if we can run your code and it doesn't have dependencies other than React. Paste the link to your JSFiddle (https://jsfiddle.net/Luktwrdm/) or CodeSandbox (https://codesandbox.io/s/new) example below:**
https://codesandbox.io/s/stoic-curran-3otbb

**What is the expected behavior?**
In the example above, `componentDidUpdate` shouldn't have been called when the button is clicked.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

like a proxy to Context. This proxy object adds unnecessary code in PROD
   so we use the old behaviour (Context.Consumer references Context) to
   reduce size and overhead. The separate object references context via
   a property called "_context", which also gives us the ability to check
   in DEV mode if this property exists or not and warn if it does not.
  if (__DEV__) {
    if ((context: any)._context === undefined) {
       
       
       
      if (context !== context.Consumer) {
        if (!hasWarnedAboutUsingContextAsConsumer) {
          hasWarnedAboutUsingContextAsConsumer = true;
          console.error(
            'Rendering <Context> directly is not supported and will be removed in ' +
              'a future major release. Did you mean to render <Context.Consumer> instead?',
          );
        }
      }
    } else {
      context = (context: any)._context;
    }
  }
  const newProps = workInProgress.pendingProps;
  const render = newProps.children;
  if (__DEV__) {
    if (typeof render !== 'function') {
      console.error(
        'A context consumer was rendered with multiple children, or a child ' +
          "that isn't a function. A context consumer expects a single child " +