This test works:
```js
let interaction;

const onRender = jest.fn();

SchedulerTracing.unstable_trace("initial_event", performance.now(), () => {
  const interactions = SchedulerTracing.unstable_getCurrent();
  expect(interactions.size).toBe(1);
  interaction = Array.from(interactions)[0];

  ReactDOM.render(
    <React.Profiler id="profiler" onRender={onRender}>
      <Text text="Hi" />
    </React.Profiler>,
    document.createElement("div")
  );
});

expect(interaction).toBeDefined();
expect(onRender).toHaveBeenCalledTimes(1);
expect(onRender.mock.calls[0][6]).toContain(interaction);
```

But if you wrap it in `act`, it fails:
```js
let interaction;

const onRender = jest.fn();

TestUtils.act(() => {
  SchedulerTracing.unstable_trace("initial_event", performance.now(), () => {
    const interactions = SchedulerTracing.unstable_getCurrent();
    expect(interactions.size).toBe(1);
    interaction = Array.from(interactions)[0];

    ReactDOM.render(
      <React.Profiler id="profiler" onRender={onRender}>
        <Text text="Hi" />
      </React.Profiler>,
      document.createElement("div")
    );
  });

  expect(interaction).toBeDefined();
  expect(onRender).toHaveBeenCalledTimes(1);
  expect(onRender.mock.calls[0][6]).toContain(interaction);
});
```

In the latter case, inside of `ReactFiberScheduler`, the interactions `Set` is empty.
https://github.com/facebook/react/blob/2e5d1a8b9e2c29418a27b24306e4c8d5f8681f4f/packages/react-reconciler/src/ReactFiberScheduler.js#L2119-L2126

Note that this does not seem to impact _updates_, only the initial _mount_. I suspect we just need to wrap a callback or something minor.

I came across this while trying to write profiling tests for the new DevTools. (https://github.com/bvaughn/react-devtools-experimental/pull/258)
tag !== ForwardRef &&
      tag !== MemoComponent &&
      tag !== SimpleMemoComponent
    ) {
      
      return;
    }
    // We show the whole stack but dedupe on the top component's name because
    // the problematic code almost always lies inside that component.
    const componentName = getComponentName(fiber.type) || 'ReactComponent';
    if (didWarnStateUpdateForUnmountedComponent !== null) {
      if (didWarnStateUpdateForUnmountedComponent.has(componentName)) {
        return;
      }
      didWarnStateUpdateForUnmountedComponent.add(componentName);
    } else {
      didWarnStateUpdateForUnmountedComponent = new Set([componentName]);
    }
    warningWithoutStack(
      false,
      "Can't perform a React state update on an unmounted component. This " +
        'is a no-op, but it indicates a memory leak in your application. To ' +
        'fix, cancel all subscriptions and asynchronous tasks in %s.%s',
      tag === ClassComponent
        ? 'the componentWillUnmount method'
        : 'a useEffect cleanup function',
      getStackByFiberInDevAndProd(fiber),
    );
  }
}