I have an existing React-native project which I'm trying to move to expo
I have followed the steps described here to do this. I have complete all the steps in the article, yet when I start the project I run into the following error.
From my research what I understood is that, a libReactNativeLocalization.a file is missing from somewhere.
Here is the library I'm using for localization.
What am I doing wrong?
With Expo, you can't react-native-link custom native modules. You write just JavaScript (unless you eject, in which case you're in a roughly similar situation before you tried to convert to Expo).
The way you can do localization with Expo is to use these functions:
https://docs.expo.io/versions/v17.0.0/sdk/util.html#expoutilgetcurrentlocaleasync
There isn't a way to use the native module you link to without ejecting unfortunately.
Good luck!
Related
This is a very basic question I'm sure, but i am working in React Native and have no plans on downloading, installing, or using Expo. There is a styling Framework, Nuton, that was built using Expo, My question, is will I be able to use this Framework without having to start an expo project
I cannot find the specific library Nuton you are referring to, please edit your post and add a link to it for a more detailed answer.
However, to give you a basic understanding:
If you have to use "expo install Nuton" in the command line to add this library to your project, then yes, expo is required in order to use this library.
If you can use "npm install Nuton" then no, expo is not required. However, Nuton's package may have expo components it will install within the library itself. Whether you want to use expo or not should not matter in this case.
my question might be a little bit silly or ambiguous since I am fairly new to react native.
I'm trying to use the following repository for my react-native project https://github.com/smekalka/react-native-universal-pedometer. I have noticed that the repo is implemented in .java with platform folder unlike the regular .js or .ts files I used to see. Is this repository considered native module as react native doc describe?
Or in general how I can tell the whatever lib I am using is a native module.
The project is previously tested are under the support of expo-cli. I experienced the error null is not n object while using this repo. If so, I am probably going to eject the expo-cli and rewrite my code so I can use and even create own native-module for full control, some core implementations that written in other languages or expo-cli does not support.
Yes, the android and ios directories in the repository contain the 'native' code used to implement the platform-specific hooks that the Javascript will be able to pick up. Expo is not able to use these native modules or native code so your assumption is correct; you will need to eject your app in order to use this module.
If your app is below version 0.60 of React Native, after installing the module you will need to run react-native link react-native-universal-pedometer to link the native code to the Javascript runtime. If you're above 0.60, it will link automatically when installed.
Might be a duplicate, didn't find one tho.
I started a new application with the react-native-cli.
I want to use expo for development purpose:
Running on devices through Expo.
Publishing through Expo.
Is such a thing possible?
Copy pasting your 2 questions in Google and the first result...
1.
https://docs.expo.io/versions/latest/guides/testing-on-devices/
2.
https://docs.expo.io/versions/latest/workflow/publishing/
any questions left???
No, its not possible, in the docs its explicitly mentioned you can choose either the expo path or bare react native path. And if you choose expo you can eject from it to pure react native but cant go vice versa because the expo wrapper cant be implemented on the bare app.
so you have to again build an app with expo-cli to use expo publishing facilities etc.
but if you want to use expo modules in bare react native app you can do by using react-native-unimodules .
rn-unimodules
hope it helps. feel free for doubts
If anyone is ever looking for the answer it is stated here:
https://docs.expo.io/versions/v35.0.0/introduction/managed-vs-bare/#bare-workflow
It clearly states that in "bare" workflow you cant use the build services of Expo.
I am building an app using Create-React-Native-App. As such, my testing and development is in Expo. I am looking for a solution to help with i18n, mostly translations and RTL. I found that ex-react-native-i18n works great, until I try ejecting to create the App, because it needs expo. (Which I don't need or want in the production App)
with react-native-i18n I get this error:
react-native-i18n module is not correctly linked
I tried react-native link and yarn link without success. The ReadMe page for react-native-i18n has extensive instructions for manual linking, but only for AFTER ejecting.
What am I missing here?
Is there a better solution that I'm missing?
Thanks.
I don't think it will be possible to get that module working before ejecting.
Have you tried this library?
https://github.com/xcarpentier/ex-react-native-i18n
Mark
I want to add TouchID / FingerprintScanner support to an app that I'm developing with React-Native#0.54+ and all packages that I use I cannot link the dependencies to it via react-native link (or even without package-name...).
I'm running it via 'create-react-native-app' and using Expo Client.
Any thoughts / help?
i think you shoud detach expo.
working with Expo gives you lots of benefit... but deeper you want to achieve, Expo will make you struggle.
I suggest you to deatch Expo and work with libraries like
https://github.com/naoufal/react-native-touch-id
or
https://github.com/hieuvp/react-native-fingerprint-scanner
Its worth pointing out that Expo supports fingerprint scanning with their LocalAuthentication module. There's an example snack available in their documentation
there is quite a good example here so have a look. It solved my problem.
You can use Expo's fingerprint reader library in ejected apps too. I explained it here https://stackoverflow.com/a/64929151/7477198
Or it is possible to use libraries like https://github.com/hieuvp/react-native-fingerprint-scanner#readme