requireNativeComponent: "RNSScreen" was not found on the UIManager - react-native

I'm trying to make an app with React Native and I've been stuck for hours. Whenever I try to run my app with Android Studio I get the error: "requireNativeComponent: "RNSScreen" was not found on the UIManager". I think I have all the dependencies needed to get NativeModules, here I have all the package.json dependencies:
"#react-native-community/masked-view": "^0.1.11",
"#react-navigation/native": "^6.0.6",
"#react-navigation/stack": "^6.0.11",
"firebase": "^9.1.3",
"react": "17.0.2",
"react-global-hook": "^2.0.0",
"react-native": "0.66.0",
"react-native-ble-manager": "^7.6.3",
"react-native-ble-plx": "^2.0.2",
"react-native-gesture-handler": "^1.10.3",
"react-native-reanimated": "^2.2.3",
"react-native-safe-area-context": "^3.3.2",
"react-native-screens": "^3.8.0",
"react-navigation": "^4.4.4",
"react-navigation-stack": "^2.10.4"
Is there anything else I need to install?

Generally this means that react-native-screens is not installed
Try npm i react-native-screens, but I suggest trying whit the expo managed environment.

Related

A problem occurred evaluating project ':react-native-reanimated'. My react-native-reanimated version: "^2.8.0"

I'm getting this error:
A problem occurred evaluating project ':react-native-reanimated'.
> Could not get unknown property 'rnMinorVersion' for project ':react-native-reanimated' of type org.gradle.api.Project.
I tried updating react-native-reanimated version to 3.0.0-rc.0 still it's not working for me.
My package.json:
dependencies": {
"#react-native-community/masked-view": "^0.1.11",
"#react-navigation/bottom-tabs": "^6.3.1",
"#react-navigation/native": "^6.0.10",
"#react-navigation/stack": "^6.2.1",
"react": "18.0.0",
"react-native": "0.69.0",
"react-native-gesture-handler": "^2.5.0",
"react-native-reanimated": "^2.8.0",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.13.1",
"react-native-vector-icons": "^9.2.0"
}

How to upgrade react-native version from 0.68.0 to latest version 0.69.1? I have tried but got an error

I have tried to upgrade react native version from 0.68.0 to latest version 0.69.1, by using this command npx react-native upgrade, it throws an error below is picture link (error)
https://drive.google.com/file/d/1nwKDW0r5-LrJhazqXJaBN70SzFg2fsXY/view?usp=sharing
"dependencies": {
"#react-native-async-storage/async-storage": "^1.17.7",
"#react-navigation/native": "^6.0.11",
"#react-navigation/native-stack": "^6.7.0",
"axios": "^0.27.2",
"react": "17.0.2",
"react-native": "0.68.0",
"react-native-bootsplash": "^4.2.3",
"react-native-camera": "^4.2.1",
"react-native-responsive-screen": "^1.4.2",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.15.0",
"react-native-svg": "^12.3.0",
"react-native-svg-transformer": "^1.0.0",
"react-native-toast-message": "^2.1.5",
"react-native-vector-icons": "^9.2.0",
"react-redux": "^8.0.2",
"redux-thunk": "^2.4.1"
},
Please try it below steps maybe it works.
-- Delete node modules
Also,go to IOS folder & delete pods folder & podfile.lock
-- Then do the:
npm install,
cd ios, pod install,
-- then do the :
npx react-native upgrade
or else
you can define specific version also, like
npx react-native upgrade 0.69
it works.

RNCSafeAreaProvider was not found in the UIManager

I know that this question has been asked before but all of them are all about android or IOS
I am having this problem in react-native-windows
"RNCSafeAreaProvider" was not found in the UIManager
Is there any thing I could do about this? I think that the autolinking not working for react-native-windows
Here is my Package.JSON
"dependencies": {
"#alentoma/usestate": "^1.2.4",
"#react-navigation/bottom-tabs": "^6.2.0",
"#react-navigation/native": "^6.0.8",
"#react-navigation/native-stack": "^6.5.0",
"react": "17.0.2",
"react-native": "0.67.3",
"react-native-safe-area-context": "^4.1.2",
"react-native-screens": "^3.13.1",
"react-native-windows": "0.67.3"
},

The experience you requested uses Expo SDK v(null), but this copy of Expo Client requires at least v35.0.0

I decided to return to an Expo app I was developing last year and was using expo-sdk:v33.0.0 and it was working.
I tried to use a solution of Squirrl from similar question, but still no luck. Tried removing node_modules and yarn_install. Here's my package.json:
enter
"dependencies": {
"#react-native-community/masked-view": "^0.1.7",
"#react-navigation/material-bottom-tabs": "^5.1.1",
"#react-navigation/material-top-tabs": "^5.1.1",
"#react-navigation/native": "^5.0.9",
"#react-navigation/stack": "^5.2.3",
"axios": "^0.18.1",
"date-fns": "^1.29.0",
"dotenv": "^8.2.0",
"expo": "^33.0.0",
"expo-font": "~5.0.1",
"lodash": "^4.17.15",
"native-base": "^2.13.1",
"react": "16.8.3",
"react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",
"react-native-gesture-handler": "~1.2.1",
"react-native-modal": "^11.5.4",
"react-native-paper": "^3.6.0",
"react-native-platform-touchable": "^1.1.1",
"react-native-reanimated": "1.0.1",
"react-native-safe-area-context": "^0.7.3",
"react-native-safe-area-view": "^1.0.0",
"react-native-status-bar-height": "^2.1.0",
"react-native-tab-view": "^2.13.0",
"react-native-vector-icons": "^5.0.0",
"react-redux": "^5.1.0",
"redux": "^4.0.1",
"redux-axios-middleware": "^4.0.0",
"redux-persist": "^5.10.0",
"save": "^2.4.0",
"victory-native": "^30.6.0"
"devDependencies": {
"babel-preset-expo": "^5.0.0",
"nodemon": "^2.0.2",
"react-native-dotenv": "^0.2.0"
The app was working with these dependencies that time.
1st issue is that error says Expo SDK v(null). But version is specified in both package.json and app.json.
2nd issue is error says Expo client requires v35.0.0. How can i run the app without upgrading sdk from v33 to v35
This is what worked for me.
Run npm i -g expo-cli (You may have to use sudo if on a Mac. I did.) then run expo upgrade
Follow the prompts and it should work.

get warning "componentWillReceiveProps has been renamed" after moving expo project to react native

I migrate my expo project to react native project.
I removed expo and i tried to use the native way to add splash screen and push notifications and to add fonts without expo.
I also installed react navigation with the native way without expo.
I run the project using android studio and Xcode.
I have some problems but i fixed them by fixing some packages versions in my package.json file
Now i get this error :
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See ... for details.
* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: ***
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
Please update the following components: SafeView
my old packeges file :
"react": "16.8.3",
"react-dom": "^16.8.6",
"react-native": "https://github.com/expo/react-native/archive/sdk-
33.0.0.tar.gz",
"react-native-autocomplete-input": "^4.1.0",
"react-native-elements": "^1.1.0",
....
"react-navigation": "^4.0.10",
"react-navigation-drawer": "^2.3.3",
"react-navigation-material-bottom-tabs": "^1.0.0",
"react-navigation-stack": "^1.10.3",
My current version use safe area context with react navigation :
"dependencies": {
"#react-native-community/async-storage": "^1.7.1",
"#react-native-community/masked-view": "^0.1.6",
"#react-native-community/push-notification-ios": "^1.0.6",
"axios": "^0.19.0",
"buffer": "^5.4.3",
"color": "^3.1.2",
"libphonenumber-js": "^1.7.26",
"moment": "^2.24.0",
"native-base": "^2.13.5",
"native-base-autocomplete": "^1.3.2",
"querystring": "^0.2.0",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-elements": "^1.1.0",
"react-native-event-source": "^1.1.0",
"react-native-gesture-handler": "^1.5.6",
"react-native-globalize": "^3.0.0",
"react-native-material-textfield": "^0.16.1",
"react-native-modal-selector": "^1.1.1",
"react-native-paper": "^2.16.0",
"react-native-push-notification": "^3.1.9",
"react-native-reanimated": "^1.0.1",
"react-native-responsive-ui": "^2.1.1",
"react-native-root-toast": "^3.1.2",
"react-native-safe-area-context": "^0.7.2",
"react-native-screens": "^2.0.0-beta.2",
"react-native-slider": "^0.11.0",
"react-native-splash-screen": "^3.2.0",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^4.0.10",
"react-navigation-drawer": "^2.3.3",
"react-navigation-material-bottom-tabs": "^1.0.0",
"react-navigation-stack": "^1.10.3",
"react-redux": "^7.1.0",
"redux": "^4.0.4",
"redux-devtools": "^3.5.0",
"redux-devtools-extension": "^2.13.8",
"redux-thunk": "^2.3.0",
"search-params": "^2.1.3",
"whatwg-url": "^8.0.0"
},
In your case actually this is not an error. This is a warning from react native.
componentWillReceiveProps is a synchronous hook. Calling asynchronous function like data fetching inside this hook will need to render in between when the new props are set and when data has finished loading.
Thus, componentWillReceiveProps is being deprecated in favor of the following reason:
Use componentDidUpdate
So, I suggest you to use componentDidUpdate hook as far as possible and update your code.
The similar things happen when comparing componentWillMount and componentDidMount. Use componentDidMount whenever you need operate async operation and forget componentWillMount at all condition.
You should find the package from which SafeView object used.
-import SafeView from "......."-
Then you can find this package folder from node_modules folder.
Then you should search the code and find "componentWillReceiveProps".
Rename this to UNSAFE_componentWillReceiveProps as declared in the warning.
It worked on the same problem with my app. Happy coding!
I fixes this warning by reinstalling the navigation and the dependencies that used, so my current packages files is :
"#react-native-community/async-storage": "^1.7.1",
"#react-native-community/masked-view": "^0.1.6",
"#react-native-community/push-notification-ios": "^1.0.6",
"axios": "^0.19.0",
"buffer": "^5.4.3",
"color": "^3.1.2",
"libphonenumber-js": "^1.7.26",
"moment": "^2.24.0",
"native-base": "^2.13.5",
"native-base-autocomplete": "^1.3.2",
"querystring": "^0.2.0",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-elements": "^1.1.0",
"react-native-event-source": "^1.1.0",
"react-native-gesture-handler": "^1.5.6",
"react-native-globalize": "^3.0.0",
"react-native-material-textfield": "^0.16.1",
"react-native-modal-selector": "^1.1.1",
"react-native-paper": "^3.6.0",
"react-native-push-notification": "^3.1.9",
"react-native-reanimated": "^1.7.0",
"react-native-responsive-ui": "^2.1.1",
"react-native-root-toast": "^3.1.2",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.0.0-beta.2",
"react-native-slider": "^0.11.0",
"react-native-splash-screen": "^3.2.0",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^4.1.1",
"react-navigation-drawer": "^2.3.4",
"react-navigation-material-bottom-tabs": "^2.1.5",
"react-navigation-stack": "^2.1.1",
"react-redux": "^7.1.0",
"redux": "^4.0.4",
"redux-devtools": "^3.5.0",
"redux-devtools-extension": "^2.13.8",
"redux-thunk": "^2.3.0",
"search-params": "^2.1.3",
"whatwg-url": "^8.0.0"
thanks to everyone