Drop support for React 16+17
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 140
- Forks
- 100
- Avg merge
- 1h 3m
- Merged PRs (30d)
- 30
Description
At some point, in a new major release, we should drop support for React 16 + 17, and target React 18+.
This allows us to:
- Replace
newIdwithuseIdwhich works better for a11y purposes and supports SSR. - Improve performance with
useTransition,useDeferredValue, etc. - Enable support for React 19 in the future
- Upgrade to newer dependencies that also support only React 18+
At the same time we should:
- Replace the use of deprecated unmountComponentAtNode with the new the new
createRoot()compatible APIs
✅ Depends on https://github.com/openedx/paragon/pull/3367 (v22) and https://github.com/openedx/paragon/pull/3395 (v23), but both are now merged.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing src/utils/newId.ts and src/Modal/index.jsx, along with the React support assumptions described in the issue. Done means the project targets React 18+, uses the newer root-compatible modal API, and can replace newId with useId where appropriate; verify the affected component behavior and compatibility before a major release.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, typescript
- Domain
- accessibility, frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100