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.
Related
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.
The React Native docs give instructions on using Geolocation, but:
This section only applies to projects made with react-native init or
to those made with expo init or Create React Native App which have
since ejected.
Is it possible to use geolocation on projects that are still fully running in expo (without having been ejected?
Expo does provide api to get the current location. Please have a look over herelocation
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.
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?
If Expo (create-react-native-app) is pure JavaScript, can I use other node modules in my Expo app?
in Expo, you can use any client based Javascript module, that you find in npm or that you created yourself.
But you can't use any kind of modules that has native parts in it. (Packages that you need to link to your react native projects can't be used) Although, Expo has its own SDK for your native needs.
The package you are talking about (mqtt.js) is a nodejs module, which can't be used with react native or in your case with Expo.
Just a guess, if you are trying to have a browser in your react native or Expo project, react native has a builtin in-app browser you might want to check out; https://facebook.github.io/react-native/docs/webview.html