<!--
  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

let wrapped;
      const Component = jest.fn(() => {
        wrapped = SchedulerTracing.unstable_wrap(callback);
        return null;
      });
      let interaction;
      SchedulerTracing.unstable_trace('event', mockNow(), () => {
        const interactions = SchedulerTracing.unstable_getCurrent();
        expect(interactions.size).toBe(1);
        interaction = Array.from(interactions)[0];
        ReactTestRenderer.create(<Component />);
      });
      expect(Component).toHaveBeenCalledTimes(1);
      expect(onInteractionScheduledWorkCompleted).not.toHaveBeenCalled();
      expect(callback).not.toHaveBeenCalled();
      wrapped();
      expect(callback).toHaveBeenCalledTimes(1);
      expect(onInteractionScheduledWorkCompleted).toHaveBeenCalledTimes(1);
      expect(
        onInteractionScheduledWorkCompleted,
      ).toHaveBeenLastNotifiedOfInteraction(interaction);
    });
    it('should associate traced events with their subsequent commits', () => {
      let instance = null;
      const Yield = ({duration = 10, value}) => {
        advanceTimeBy(duration);
        ReactTestRenderer.unstable_yield(value);
        return null;
      };
      class Example extends React.Component {