With this:

```js
    const Add = React.memo(props => {
      return props.inner + props.outer;
    });
    Add.defaultProps = {
      inner: 2,
    };
    const LazyAdd = lazy(() => fakeImport(Add));
```

If I render `LazyAdd` again after it resolves, it won't get the `inner` default prop value. This is a bug.
await promiseForBar;
    expect(root).toFlushAndYield(['Foo', 'Bar']);
    expect(root).toMatchRenderedOutput('FooBar');
  });
  it('does not support arbitrary promises, only module objects', async () => {
    spyOnDev(console, 'error');
    const LazyText = lazy(async () => Text);
    const root = ReactTestRenderer.create(
      <Suspense fallback={<Text text="Loading..." />}>
        <LazyText text="Hi" />
      </Suspense>,
      {
        unstable_isConcurrent: true,
      },
    );
    expect(root).toFlushAndYield(['Loading...']);
    expect(root).toMatchRenderedOutput(null);
    await Promise.resolve();
    if (__DEV__) {
      expect(console.error).toHaveBeenCalledTimes(1);
      expect(console.error.calls.argsFor(0)[0]).toContain(
        'Expected the result of a dynamic import() call',
      );
    }
    expect(root).toFlushAndThrow('Element type is invalid');
  });
  it('throws if promise rejects', async () => {
    const LazyText = lazy(async () => {
      throw new Error('Bad network');
    });