question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Update React Native driver(s)

See original GitHub issue

Work 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:closed
  • Created 7 years ago
  • Reactions:8
  • Comments:11 (10 by maintainers)

github_iconTop GitHub Comments

18reactions
staltzcommented, Apr 3, 2017

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.

9reactions
TylorScommented, Oct 4, 2016

I’m going to start tackling this issue beginning tomorrow.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found