Skip to content

[Meta] React 18 Support #6182

Closed
Closed
@chandlerprall

Description

@chandlerprall

Description rewritten by @tkajtoch.

Currently, EUI doesn't support React 18, and we noticed some of the components are behaving unexpectedly or are entirely broken when running on the latest React runtimes with strict mode enabled. We know this may block our users from upgrading to the latest and greatest, and we decided to prioritize the EUI upgrade process to address this issue.

Goals

  • Allow users to integrate EUI components with React 18 applications or migrate their existing applications using EUI to React 18
  • Keep supporting React >=17 versions in new releases for the time being
  • Upgrade EUI docs application to run on the latest React 18 version
  • Maintain the same component APIs and props (internal components structure may change)
  • Update our testing frameworks to run tests on React 18 and fix any broken tests
  • Provide upgrade instructions if necessary

Acceptance Criteria

  • All EUI components work according to specification, and their behavior doesn't change between React 18 and older React versions
  • EUI docs app runs on React 18
  • All unit and e2e tests are passing
  • There are no breaking changes to the components' usage or props (stricter prop definitions are allowed - e.g. around the children prop)
  • All dependencies using React are updated to versions supporting React 18

Definition of done

  • All EUI components are tested using already built automated test suites as well as manually, and any necessary fixes are implemented
  • All linked issues to this meta issue are done and closed
  • Changes are merged from a feature branch to main
  • EUI supporting React 18 is released

### Child issues
- [ ] #6179
- [x] #6180
- [x] #6181
- [ ] #6187
- [ ] https://github.com/elastic/eui/issues/6780
- [ ] https://github.com/elastic/eui/issues/6784
- [ ] https://github.com/elastic/eui/issues/6783
- [ ] https://github.com/elastic/eui/issues/6782
- [ ] https://github.com/elastic/eui/issues/6781
- [ ] https://github.com/elastic/eui/issues/6891

Related issues

Metadata

Metadata

Assignees

Labels

dependenciesPRs that update a dependency filemetaUsed to group similar requests or tracking. Not an Epic.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions