React version: 0.0.0-f77c7b9d7
Browser: Chrome Version 84.0.4147.105 (Official Build) (64-bit)
OS: Ubuntu 18.04.4 LTS

## Steps To Reproduce

1. move mouse over button

Link to code example:

https://codesandbox.io/s/mouseenter-in-reactnext-ibld3?file=/src/Demo.js

## The current behavior

`onMouseEnter` fires twice (sometimes it doesn't).

![video capture of repro steps](https://i.ibb.co/XzdQF68/react-next-mouseenter-twice.gif)

## The expected behavior

It fires only once. Same repro with `react@16.13.1`: https://codesandbox.io/s/mouseenter-in-react16131-9sr7b?file=/src/Demo.js

render() {
        return [<NullComponent key="a" />, <div key="b" />, <span key="c" />];
      }
    }
    let instance = null;
    ReactDOM.render(<Fragment ref={ref => (instance = ref)} />, container);
    expect(container.childNodes.length).toBe(2);
    const firstNode = ReactDOM.findDOMNode(instance);
    expect(firstNode).toBe(container.firstChild);
    expect(firstNode.tagName).toBe('DIV');
  });
  it('renders an empty fragment', () => {
    const Div = () => <div />;
    const EmptyFragment = () => <></>;
    const NonEmptyFragment = () => (
      <>
        <Div />
      </>
    );
    ReactDOM.render(<EmptyFragment />, container);
    expect(container.firstChild).toBe(null);
    ReactDOM.render(<NonEmptyFragment />, container);
    expect(container.firstChild.tagName).toBe('DIV');
    ReactDOM.render(<EmptyFragment />, container);
    expect(container.firstChild).toBe(null);
    ReactDOM.render(<Div />, container);
    expect(container.firstChild.tagName).toBe('DIV');
    ReactDOM.render(<EmptyFragment />, container);