<!--
  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*?**
Not sure if its a bug or a feature request.

**What is the current behavior?**
The component given as a fallback to Suspense is remounted each time a lazy child resolves.

https://codesandbox.io/s/z6v6x3n1np
This example shows how a fallback component, which counts up, is mounted more than once.

**What is the expected behavior?**
The fallback is mounted once and is only unmounted when all lazy children are resolved.
In the example the counter would run up to 9.

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

const {duration, id} = this.props;
        return (
          <React.Fragment>
            <Child duration={duration} id={id} />
            <Child duration={duration} id={id} />
          </React.Fragment>
        );
      }
    }
    ReactNoop.advanceTime(50);
    ReactNoop.renderToRootWithID(<Parent duration={3} id="one" />, 'one');
    
    
    const commitFirstRender = ReactNoop.flushWithoutCommitting(
      ['Child:render:one', 'Child:render:one'],
      'one',
    );
    expect(ReactNoop.getRoot('one').current.actualDuration).toBe(0);
    ReactNoop.advanceTime(100);
    
    ReactNoop.renderToRootWithID(<Parent duration={7} id="two" />, 'two');
    ReactNoop.flushThrough(['Child:render:two']);
    ReactNoop.advanceTime(150);
    
    commitFirstRender(['Parent:componentDidMount:one']);
    expect(ReactNoop.getRoot('one').current.actualDuration).toBe(6);
    expect(ReactNoop.getRoot('two').current.actualDuration).toBe(0);
    ReactNoop.advanceTime(200);
    ReactNoop.flush();
    expect(ReactNoop.getRoot('two').current.actualDuration).toBe(14);