Functional `ref` prop throws a `Maximum update depth exceeded` error when suspending.

React version: `18.0.0-alpha-464f27572-20210713`

## Steps To Reproduce

1. Click on the `suspend` button: https://codesandbox.io/s/ref-set-too-many-times-jm0c3?file=/src/App.js.

## The current behavior

Clicking on the `suspend` button throws a `Maximum update depth exceeded` error.

## The expected behavior

Clicking on the `suspend` button suspends.
export const NeedsPropagation =  0b00000100000000000000000;
export const RefStatic =  0b00001000000000000000000;
export const LayoutStatic =  0b00010000000000000000000;
export const PassiveStatic =  0b00100000000000000000000;
export const MountLayoutDev =  0b01000000000000000000000;
export const MountPassiveDev =  0b10000000000000000000000;
export const BeforeMutationMask =
  
  
  Update |
  Snapshot |
  (enableCreateEventHandleAPI
    ? 
      
      
      
      ChildDeletion | Visibility
    : 0);
export const MutationMask =
  Placement |
  Update |
  ChildDeletion |
  ContentReset |
  Ref |
  Hydrating |
  Visibility;
export const LayoutMask = Update | Callback | Ref;
export const PassiveMask = Passive | ChildDeletion;
export const StaticMask = LayoutStatic | PassiveStatic | RefStatic;