slate icon indicating copy to clipboard operation
slate copied to clipboard

Update to React 19

Open s-sbo opened this issue 11 months ago • 2 comments

Description Updates Slate's React version to 19.0.0.

Context

  • useRef now requires an argument
    • All useRef usage now has an initial argument, with relevant hooks updated to explicitly handle passed refs which may be falsy.
    • Removed depreciated MutableRefObject
  • React 19 supports ref as a prop and forwardRef will be depreciated and removed in future.
    • All forwardRef usage has been refactored.
    • (I thought about leaving this for a later refactor as I don't know much about how version bumps are managed on packages like this but in the end the new API reduces so much boilerplate it seemed worth it.)
  • Minor housekeeping
    • Updated types, removed unused imports, fixed 404'ing images in images example, minor updates to some other examples

Checks

  • [x] The new code matches the existing patterns and styles.
  • [] The tests pass with yarn test.
  • [x] The linter passes with yarn lint. (Fix errors with yarn fix.)
  • [ ] The relevant examples still work. (Run examples with yarn start.)
  • [ ] You've added a changeset if changing functionality. (Add one with yarn changeset add.)

s-sbo avatar Jan 27 '25 22:01 s-sbo

⚠️ No Changeset found

Latest commit: e170f95a4c0b25ed0d2ff9904682c4c0946cf0d7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

changeset-bot[bot] avatar Jan 27 '25 22:01 changeset-bot[bot]

Hi, thanks for the effort! I think the only way to get this PR forward is by splitting it up into separate PRs:

  1. Upgrade to React 19 and fix problems,
  2. Simplification, updated types, removed unused imports, fixed 404'ing images in images example, minor updates to some other examples, upgraded Yarn etc.

I don't think this PR has a chance to be merged in current state, because it changes too much.

DCzajkowski avatar Feb 22 '25 16:02 DCzajkowski