react-native-azure-ad not launching with latest update of Expo app - react-native

To fix it, I also update iphone to the latest version.
Is it an issue with react-native-azure-ad OR expo ?
Getting below error:

If you get this error:
ScrollView has no propType for native prop RCTScrollView.onScrollAnimationEnd of native type BOOL
If you haven't changed this prop yourself this usually means that your versions of the native code and JavaScript code are out of sync. Updating both should make this error go away.
It's very likely that your device is trying to run JS code that doesn't correspond to the native code on your device. The first thing to do is look at your Expo SDK version. In app.json, you should see a field called "sdkVersion" -- for example, it might be "21.0.0" -- which tells the Expo client which version of the native code to run.
Using the correct version of React Native
We highly recommend that you use a release of React Native that has been tested to work with Expo. In the case of SDK 21, you'd put this in your package.json's "dependencies" section:
"react-native": "https://github.com/expo/react-native/archive/sdk-21.0.2.tar.gz",
The above snippet works only for Expo SDK 21! If you are using a different SDK version, you must use a different version of React Native!
Clearing your caches
We also want to ensure that your device doesn't try to run a stale copy of your code. There are several caches with Expo and React Native, so let's clear them just to be safe:
Stop the React Native packager. Close exp or XDE.
Force quit the Expo client on your device
Clear the Watchman cache (if you are using Watchman): watchman watch-del-all
Clear the Metro bundler cache: rm -fr $TMPDIR/react-*
Make sure your npm dependencies are rebuilt and installed correctly: yarn --force
Start up exp (exp start --clear to make sure we clear the Metro bundler cache for good) or XDE
Open your project on your device in the Expo client

Related

React Native Video

i'm trying to use 'react-native-video' in my application, i have used the following lines to get it:
npm install --save react-native-video
react-native link react-native-video (since my react native version is 0.59)
after doing so and using "Video" component from 'react-native-vide' i got an error like below:
what is the problem? what can i do? any ideas?
You did not link the library properly.
After having installed the library through npm i --save react-native-video, you'll need to run react-native link react-native-video in order to link it. This may or may not work - if it does not, you'll need to link manually according to the installation instructions of the library.
You might be using CocoaPods in which case you'll need to run these commands as well: cd ios && pod install
If you receive an error, you're most likely not using CocoaPods and this is the wrong approach.
Please note that you'll need to reinstall the app on the phone / simulator afterwards since you've changed the native dependencies. You'll also need to do this if you're using (ejected) Expo or anything alike. If you're using Expo with the managed workflow (= not ejected) you're not able to use libraries that depend on native linking.

Metro Bundler not running: After upgrading react native version

I have upgraded my app from React Native version 0.57 to 0.60.0 but after executing react-native run-android, the configurations in gradle executes successfully, but metro bundler isn't launched. And app crashes immediately after that.
You should try to use:
react-native upgrade --legacy=true
Beware that it will ask if you want to replace current android/ios files for new ones and then it will rebuild them.
Also, you need to check if your old dependencies are available on autolink, and if not you can try to link them.

What are the difference between these React Native start commands?

I have been using react native for a couple months now. However, I really don't know the difference between the starting commands. Currently, I use npm on my project. However, I know yarn can be used. These are the commands I really don't understand the difference with:
exp start, exp ios, exp android
react-native run-ios, react-native run-android
npm start, npm ios, npm android
Which ones are better in what cases and why? Currently, I am using exp but others use react-native run-ios. I used to use npm ios.
Thank you in advance.
It might help to have an overview of the React Native architecture.
In react native, when you write, say, <View/>, it gets sent across the bridge to the native code and dynamically translated into UIView on iOS or android.view.View on Android. Every basic component in the react-native package has been implemented this way. If you want additional native functionality on both platforms, say a library which uses native map components, you will end up having to include the native libraries separately into your Android build.gradle and your iOS .xcodeproj.
The exp CLI is used to start apps built with the Expo SDK. Expo is essentially a prebuilt app with a certain set of native components already included for convenience; all you supply is your JSX; thus the recommendation to "eject" to a regular react native app if you need to use any other libraries.
react-native run-ios and run-android builds the native .app or .apk using the iOS or Android toolchains, starts the Metro Bundler, which minifies and serves the JSX and other assets such as images over to your device in debug mode (You might see something like Loading from localhost:8081).
On Android, it starts the adb server to push the APK with all the native libraries included onto your device, if you have USB debugging enabled. run-ios does the same with the .app; if you install to a simulator it has automatically configured AppDelegate.m to communicate with localhost:8081, whereas live reload over USB has to be configured manually on a physical device.
react-native start simply starts the Metro bundler, which is useful if you already have the app installed.
Commands that begin with npm are defined as scripts in your package.json file. As of RN 0.57, npm start simply calls node node_modules/react-native/local-cli/cli.js start; which is the same as running react-native start; according to the docs react-native-cli installed separately will call the locally installed version of the CLI in node_modules.

React Native not installing properly

I am familiar with React Native. I got a new macbook and I am trying to create a new file. However, when I run create-react-native-app [name of app] I am greeted with:
This command requires Expo CLI.
Do you want to install it globally [Y/n]?
When I pressed Y it created the file, however, in a complete file layout. It looked so odd and there were some files missing too.
Normally, when I run create-react-native-app it created the file without asking anything about expo. I am pretty confused. I'm pretty sure I have done wrong somewhere. Where and how I can get the traditional installation process back?
I also know that expo helps with testing. Since may I have been using npm start and npm run ios to test my apps on device and xcode simulation.
https://facebook.github.io/react-native/docs/getting-started I followed this.
New version out now and create react native app has been merged with expo CLI.
To avoid any bug use new version to create react apps, follow the command bellow which is also in the link given in your question.
expo init AwesomeProject
After installation you will be guided to start project with expo start.
cd AwesomeProject
expo start

React Native Packager without watchman

I just started looking into react-native for android development and setup the environment in windows. Then it turns out there's no watchman release for windows.
The react native packager runs without watchman but the app reloads or live reloads doesn't work and I needed to restart react native packager every time I make changes to the code. This takes at least 1 minute for some reason.
Is there anyway to make this more bearable? For e.g. trigger file changes to packager manually or alternative to watchman that works with react native packager.
Thanks in advance
hot/manual reloads should work on windows, you should not have to restart the packager too often