• Robert Knight's avatar
    Adapt to `useRef` type changes · 8ee4ceca
    Robert Knight authored
    `useRef(null as T|null)` now returns a `{ current: T|null }` instead of
    `{ current: T }` as it did before. ie. it no longer drops the the null.
    This makes sense but conflicted with a pattern we used in many places to
    create a non-null ref: `useRef(/** @type {T|null} */ (null))`.
    
    Resolve this by changing all non-nullable refs, for elements which are
    set after the initial render, to cast the `useRef` result instead of the
    init value.
    
    ```
    const nonNullRef = /** @type {{ current: T }} */ (useRef());
    ```
    8ee4ceca
MenuItem.js 7.71 KB