Update React Native driver(s)
See original GitHub issueWork in progress in the rn
branch.
- Example working
- Update to the latest React Native just so it works
- Tests
- Rewrite it in TypeScript
- Rewrite the example, make sure it works
- Overhaul: use xstream and latest Cycle packages
- Screen driver
- Cycle Unified support
- Toast driver
- ScreenSource type
- Rework the handler architecture
- Rework handler architecture again
- Separate the packages
- 🇿🇼 Release candidate 1
- Keyboard driver
- Update to RN 0.45
- Update to RN 0.48
- Navigation? ~~https://reactnavigation.org/docs/intro/~~ “done” through cycle-native-navigation
- Investigate screen driver’s problem with synchronous handler attachment
- Problem is: we need intent() to be called before view() so that the handler subject exists prior to VNode creation which looks up the handler subject from the dict
- Perhaps we could do some type of microtask handling to schedule handler lookup when creating ReactElements ?
- What about elements that are
mapTo
prior to intent() call?
- Isolation for native screen driver
- Use React context?
- release cycle/react, cycle/react-dom, cycle/react-native
- Move non-screen drivers to their own repos (in this cyclejs org though)
- most.typings.d.ts and rxjs.typings.d.ts
Not for the monorepo, but still relevant to do:
- Back button driver (somewhat related to navigation too)
- AsyncStorage driver
- Alert driver with categories and isolation
- AccessibilityInfo driver
- Vibration driver
- Everything else 😃
Issue Analytics
- State:
- Created 7 years ago
- Reactions:8
- Comments:11 (10 by maintainers)
Top Results From Across the Web
Upgrading to new versions
You first need to select from and to which version you wish to upgrade, by default the latest major versions are selected. After...
Read more >How to Upgrade to React 18
This is because React 18 relies on the New React Native Architecture to benefit from the new ... Updates to Client Rendering APIs....
Read more >What's New in React Native 0.69 — How to Upgrade and Why ...
Upgrading React Native is sometimes a little bit tricky. The main change is to update the version of React Native and related modules...
Read more >React Native: Upgrade Dos and Don'ts
It is a must if you have made native code changes. You just select your React Native version, select the React Native version...
Read more >Upgrading to React Native 0.67 - YouTube
Let's upgrade Ignite's boilerplate to the latest React Native !
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
As you may already have noticed, I’m building Cycle Native as multiple drivers as opposed to one. React Native and Mobile APIs have multiple “devices” (keyboard, screen, gyroscope, camera, storage), much more than the browser provides, so in Cycle.js concepts it certainly makes sense to have a driver for each of these.
I’m still not sure how to structure the drivers and packages though. There are basically two options:
One package, many drivers (👍)
@cycle/native/screen
@cycle/native/toast
@cycle/native/keyboard
One package per driver (❤️)
@cycle/native-screen
@cycle/native-toast
@cycle/native-keyboard
Could I have some feedback from the community? Please press 👍 for one package, many drivers or ❤️ for one package per driver.
I’m going to start tackling this issue beginning tomorrow.