bamlab / bamlab/react-tv-space-navigation
Future compatibility with React 18
- Dominant language
- TypeScript
- Stars
- 319
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
#### Question: What is the plan for the future of the library, regarding compatibility with React 18 and React 19?
Our team is trying to figure out if a PR we're submitting will be usable from our project, and how soon (in broad strokes).
Our project cannot be upgraded to React 19 and needs to stay on React 18. We are tied to a specific version of `react-native`, which stops us from upgrading to React 19.
I know people are asking for `react-tv-space-navigation` to be compatible with React 19, and I know release `6.0.0-beta1` is doing that.
I created a `react-tv-space-navigation` PR for an unrelated issue, based on `main`. When I tried to build and use it locally from our project (with React 18), I got this error:
```
Uncaught Error: Objects are not valid as a React child (found: object with keys {$$typeof, type, key, ref, props}). If you meant to render a collection of children, use an array instead.
...
The above error occurred in the component.
```
If basing the PR a few commits down from the latest `main`, on the commit corresponding to release `5.2.0`, it builds and compiles correctly.
I see there is a [commit](https://github.com/bamlab/react-tv-space-navigation/commit/659b5833e372f6eb7eac1efbc8cc3980f40d7f70) on `main` that upgrades React and React DOM to version 19. That's probably the cause of the error.
Using release `6.0.0-beta1` from our project also causes the error.
Also tested this project: https://github.com/pierpo/vite-react-tv-space-nav-repro, modified to use React 18 with release `6.0.0-beta1`, and the error happens there as well.
Ideally, there will be a future release that is compatible with both React 18 and React 19.
Will version `6.0.0` (non-beta) be released soon? Will it be compatible with React 18?
It's also possible, and other libraries are doing this, to have parallel release streams. So for example when a feature is ready, it will be released as `5.4.0` (for React 18) and `6.4.0` (for React 19). Is this an option, if a single release stream is not possible?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.