Migrating AsyncStorage data when moving from React Native to Expo - react-native

I'm considering moving from React Native to Expo but to do this have to be able to read the old AsyncStorage data written using the React Native app in the new Expo version.
I was able to build the new Android app using our existing .keystore so it correctly replaces the old installed app but the AsyncStorage in the Expo app is empty. I guess it's because it uses different backend? The docs mention this
On Android, AsyncStorage will use either RocksDB or SQLite based on what is available.
Anyway to workaround this?

Related

Using Expo SecureStore in React Native

I have created an app with React Native CLI.
Now, I would like to store sensitive data and SecureStore provides an API for securing data on mobile phones.
As I mentioned, the app has been created with React Native CLI. Do I have to do additional configuration to use SecureStore on the app or just npm i expo-secure-store and it is going to work.
If I would use EXPO, there is no additional configuration necessary.
AFAIK if you are using a none expo project you have to install unimodules first.

How to set Constants.installationId for react native expo?

Iam new to react native and expo, while using an expo API in react-native project I got a warning "Constants.installationId has been deprecated in favor of generating and storing your own ID. Implement it using expo-application's androidId on Android and a storage API such as expo-secure-store on iOS
and localStorage on the web. This API will be removed in SDK 44."
And I got a solution for this from expo forum
But I can't figure out how to apply this solution to my project.

Turn on the location using React Native

I would like to know if it is possible to turn on the location using React Native without the library. I just need to turn on the location. I searched but I just found about librarys.
Actually in older version of react native it offers Geolocation to enable and get location.
In newer version they separate it from react native package in order to decrease the size of react native package and shift to
#react-native-community/geolocation

In Expo v35 managed workflow, how to handle `Warning: Async Storage has been extracted from react-native core`?

I use expo SDK v35, and works on the managed workflow (one without eject).
In my project, I face warning whenever I use AsyncStorage as demonstrated by their doc.
This, however, results in following warning being emitted:
Warning: Async Storage has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '#react-native-community/async-storage' instead of 'react-native'. See https://github.com/react-native-community/react-native-async-storage
I tried to follow the instruction given by this warning, and tried to use #react-native-community/async-storage, but it did not succeed; it appears the library requires some linking, which is not available if you want to work inside the Expo's managed workflow.
Question
What is the proper way to handle AsyncStorage warning when working on expo's managed workflow?
Env
Expo 35.0.0
Recently I began developing a simple app using react native and the expo cli. However, on the react native docs, it seems that asyncStorage is getting deprecated. The solution would normally be to use the react community version but that is not compatible with expo.
https://github.com/react-native-community/async-storage/
There is currently no scope of linking libraries while using the managed workflow of expo. I've faced similiar issues , and was bound to migrate from expo to pure react native. And expo isnt meant for production as apps are slower. Better i would suggest you to migrate to pure React native . Async storage cant be used otherwise and if deprecated , you will be in a great problem in the future for your app.

React Native: How do you find PRODUCT_BUNDLE_IDENTIFIER using expo?

I am trying to implement Auth0 on my react native app and right off the bat you need to identify your PRODUCT_BUNDLE_IDENTIFIER for the callback the server uses through this template URL.
{PRODUCT_BUNDLE_IDENTIFIER}://{app_name}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback
But since I'm using an Expo project I don't have the ios or android project folders. Am I missing something here or is it just impossible to configure an Auth0 with Expo created project?
The Auth0 React Native package uses native code; therefore, it's not compatible with Expo.
It looks like you may be able to work around this by using the web version instead, though. Expo has a repo (possibly out of date) which demonstrates this.