Invariant Violation: ViewPagerAndroid has been removed from React Native. Expo v35 to v39 Migration - react-native

Tried most of the solutions and even updated all the packages but none of them is working for me.
Touching this project after a while so was migrating from
React Native Expo v35 to v39.
Error Stack Trace:
My list of packages:
package.json
"dependencies": {
"#apollo/react-components": "^3.0.1",
"#apollo/react-hoc": "^3.1.1",
"#apollo/react-hooks": "^3.0.0",
"#react-native-community/async-storage": "~1.12.0",
"#react-native-community/viewpager": "^4.1.6",
"apollo-boost": "^0.4.4",
"apollo-fetch": "^0.7.0",
"apollo-link": "^1.2.13",
"apollo-link-context": "^1.0.19",
"crypto": "^1.0.1",
"crypto-js": "^4.0.0",
"expo": "^39.0.3",
"expo-facebook": "~9.0.0",
"expo-font": "~8.3.0",
"expo-google-app-auth": "^8.0.0",
"expo-image-picker": "~9.1.0",
"expo-notifications": "~0.7.2",
"graphql": "^14.4.2",
"moment": "^2.24.0",
"native-base": "^2.13.8",
"react": "16.13.1",
"react-apollo": "^3.1.3",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz",
"react-native-aws3": "^0.0.9",
"react-native-gesture-handler": "~1.7.0",
"react-native-google-places-autocomplete": "^1.4.1",
"react-native-material-ripple": "^0.9.1",
"react-native-modal": "^11.5.6",
"react-native-modal-datetime-picker": "^7.6.0",
"react-native-multiple-select": "^0.5.3",
"react-native-paper": "^3.0.0",
"react-native-picker-select": "^6.3.3",
"react-native-screens": "~2.10.1",
"react-native-status-bar-height": "^2.4.0",
"react-native-vector-icons": "^6.6.0",
"react-native-web": "~0.13.7",
"react-navigation": "^4.4.2",
"react-navigation-drawer": "^1.4.0",
"react-navigation-stack": "^1.7.3",
"react-navigation-tabs": "^1.2.0",
"react-redux": "^7.1.1",
"redux": "^4.0.4",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"#graphql-codegen/introspection": "^1.12.2",
"#types/react": "~16.9.35",
"#types/react-native": "~0.63.2",
"babel-jest": "^24.9.0",
"babel-preset-expo": "^8.3.0",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.1",
"jest": "^24.9.0",
"jest-environment-enzyme": "^7.1.1",
"jest-enzyme": "^7.1.1",
"react-test-renderer": "16.8.3",
"typescript": "~3.9.2"
},
"private": true
}
Based on what I read, it's some package that is causing this issue.
Can someone please help me find the package based on the Trace Stack?
I was unable to find it.

Package Name: react-navigation.
How to search:
Search for ViewPagerAndroid in your VS Code and don't exclude node_modules.
What you need to replace?
import {ViewPagerAndroid} from 'react-native'
with
import ViewPagerAndroid from '#react-native-community/viewpager'
NOTE:
You will need to add #react-native-community/viewpager package

Related

cannot read properties of undefined (reading '1')at plugin.manipulateoptions

this react native app was working perfectly and a week or so ago it just start throwing this arror cannot read properties of undefined (reading '1')at plugin.manipulateoptions.
you can view more detail in the attached photo here error message
Here is my package json:
"dependencies": {
"#react-native-async-storage/async-storage": "^1.17.11",
"#react-navigation/bottom-tabs": "^6.5.1",
"#react-navigation/drawer": "^6.5.5",
"#react-navigation/native": "^6.1.1",
"#react-navigation/stack": "^6.3.9",
"dayjs": "^1.11.7",
"express": "^4.18.2",
"firebase": "^9.15.0",
"morgan": "^1.10.0",
"peerjs": "^1.4.7",
"react": "18.1.0",
"react-native": "^0.70.6",
"react-native-animatable": "^1.3.3",
"react-native-dotenv": "^3.4.7",
"react-native-event-listeners": "^1.0.7",
"react-native-gesture-handler": "^2.8.0",
"react-native-incall-manager": "^4.0.1",
"react-native-paper": "^5.0.2",
"react-native-reanimated": "^2.13.0",
"react-native-safe-area-context": "^4.4.1",
"react-native-screens": "^3.18.2",
"react-native-slider": "^0.11.0",
"react-native-track-player": "^3.2.0",
"react-native-vector-icons": "^9.2.0",
"react-native-webview": "^11.26.0",
"socket.io": "^4.5.4",
"socket.io-client": "^4.5.4"
"devDependencies": {
"#babel/core": "^7.12.9",
"#babel/preset-flow": "^7.0.0",
"#babel/runtime": "^7.20.7",
"#react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^29.3.1",
"babel-plugin-module-resolver": "^4.1.0",
"eslint": "^7.32.0",
"jest": "^26.6.3",
"metro": "^0.73.7",
"metro-core": "^0.73.7",
"metro-react-native-babel-preset": "^0.73.7",
"react-test-renderer": "18.1.0"
},
I've tried uninstall nodemodule and packagelock, I even initialize another application, I upgraded babel plugins, but none of it works.

Parse errors in imported module react-native

A friend and I are developing a small react-native app.
He recently included Es-lint and prettier to the project and I have an import error I have not been able to resolve since.
Any imports from react-native show the following error
module
"C:/Users/Brendan/projects/garden-manager-native/node_modules/#types/react-native/index"
Parse errors in imported module 'react-native': ';' expected.
(14:32)eslintimport/namespace.
I have the following dependencies in package.json:
"dependencies": {
"#expo/vector-icons": "^13.0.0",
"#react-native-async-storage/async-storage": "~1.15.0",
"#react-navigation/bottom-tabs": "^6.0.5",
"#react-navigation/native": "^6.0.2",
"#react-navigation/native-stack": "^6.1.0",
"#reduxjs/toolkit": "^1.8.0",
"date-fns": "^2.28.0",
"expo": "~44.0.0",
"expo-asset": "~8.4.6",
"expo-camera": "~12.1.2",
"expo-cli": "^5.3.0",
"expo-constants": "~13.0.1",
"expo-file-system": "~13.1.4",
"expo-font": "~10.0.4",
"expo-linking": "~3.0.0",
"expo-splash-screen": "~0.14.1",
"expo-status-bar": "~1.2.0",
"expo-updates": "~0.11.7",
"expo-web-browser": "~10.1.0",
"normalizr": "^3.6.2",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-hook-form": "^7.28.1",
"react-native": "0.64.3",
"react-native-calendars": "^1.1283.0",
"react-native-elements": "^3.4.2",
"react-native-safe-area-context": "^3.3.2",
"react-native-screens": "~3.10.1",
"react-native-timeline-flatlist": "^0.8.0",
"react-native-vector-icons": "^9.1.0",
"react-native-web": "0.17.1",
"react-redux": "^7.2.6",
"redux-persist": "^6.0.0"
},
"devDependencies": {
"#babel/core": "^7.12.9",
"#testing-library/jest-native": "4.0.4",
"#testing-library/react-native": "^9.1.0",
"#trivago/prettier-plugin-sort-imports": "^3.3.0",
"#types/jest": "^27.4.1",
"#types/react": "~17.0.21",
"#types/react-native": "~0.64.12",
"eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0",
"eslint-config-universe": "^11.1.0",
"jest": "^26.6.3",
"jest-expo": "~44.0.0",
"prettier": "^2.7.1",
"react-test-renderer": "17.0.1",
"typescript": "~4.3.5"
},
"private": true,
"resolutions": {
"#types/react": "17.0.2",
"#types/react-dom": "17.0.2",
"react-devtools-core": "4.14.0"
}
My friend is not receiving this error on his end.
I cant seem to find much information on this particular problem but I have tried reinstalling the node_modules folder without any effect.
I know I can disable this rule to remove the error but would prefer to find a better solution.
You might follow this thread: https://github.com/facebook/react-native/issues/28549
or temporary use:
settings: {
'import/ignore': ['react-native'],
}
in your eslintrc file
Per the convo at https://github.com/facebook/react-native/issues/28549#issuecomment-657249702
You should use this pattern as it will not match things like react-native-navigation.
settings: {
'import/ignore': ['node_modules/react-native/index\\.js$']
}

#babel/preset-typescript can not be found after upgrading React Native from 0.67.4 to 0.68.0

After upgrading React Native from 0.67.4 to 0.68.0 on Big Sur, react-native run-android shows a red screen on android studio 2021.1.1 Patch 2 emulator after launch. And can not find #babel/preset-typescript.
error: node_modules/react-native-gesture-handler/src/handlers/gestures/GestureDetector.tsx: /Users/macair/Documents/code/js/xyz_app6/node_modules/react-native-gesture-handler/src/handlers/gestures/GestureDetector.tsx: Cannot find module '#babel/preset-typescript'
Require stack:
- /Users/macair/Documents/code/js/xyz_app6/node_modules/#babel/core/lib/config/files/plugins.js
- /Users/macair/Documents/code/js/xyz_app6/node_modules/#babel/core/lib/config/files/index.js
- /Users/macair/Documents/code/js/xyz_app6/node_modules/#babel/core/lib/index.js
- /Users/macair/Documents/code/js/xyz_app6/node_modules/metro-transform-worker/src/index.js
- /Users/macair/Documents/code/js/xyz_app6/node_modules/metro/src/DeltaBundler/Worker.js
- /Users/macair/Documents/code/js/xyz_app6/node_modules/jest-worker/build/workers/processChild.js
BUNDLE ./index.js
Here is the screen shot:
Here is the portion of package.json:
"dependencies": {
"#ethersproject/shims": "^5.6.0",
"#react-native-community/toolbar-android": "^0.2.1",
"#react-native-masked-view/masked-view": "^0.2.6",
"#react-native-picker/picker": "^2.4.0",
"#react-navigation/native": "^6.0.8",
"#react-navigation/stack": "^6.1.1",
"crypto-js": "^4.1.1",
"ethers": "^5.6.1",
"react": "17.0.2",
"react-native": "0.68.0",
"react-native-blob-util": "^0.14.1",
"react-native-confirmation-code-field": "^7.3.0",
"react-native-device-info": "^8.5.1",
"react-native-easy-grid": "^0.2.2",
"react-native-elements": "^3.4.2",
"react-native-encrypted-storage": "^4.0.2",
"react-native-flash-message": "^0.2.1",
"react-native-gesture-handler": "^2.3.2",
"react-native-get-random-values": "^1.7.2",
"react-native-gifted-chat": "^0.16.3",
"react-native-image-picker": "^4.7.3",
"react-native-loading-spinner-overlay": "^3.0.0",
"react-native-modal": "^13.0.1",
"react-native-reanimated": "^2.5.0",
"react-native-redash": "^16.2.3",
"react-native-responsive-screen": "^1.4.2",
"react-native-safe-area-context": "^4.2.2",
"react-native-screens": "^3.13.1",
"react-native-vector-icons": "^9.1.0",
"rn-alioss": "^0.2.5",
"socket.io-client": "^4.4.1"
},
"devDependencies": {
"#babel/core": "^7.12.9",
"#babel/runtime": "^7.12.5",
"#react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^26.6.3",
"eslint": "7.14.0",
"jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.66.2",
"react-test-renderer": "17.0.2"
},
I can yarn add #babel/preset-typescript -D but is there way to fix the error without explicitly adding #babel/preset-typescript?

Getting error of "Tried to register two views with the same name RNCViewpager

Hi, I am getting the error, but i don't know how to solve it.
I think it caused by the conflicts between react-native-tab-view and react-native-pager-view
I tried
remove node_modules and re-install.
installed different versions of react-native-pager-view
added "resolutions" in package.json.
My package.json is
"dependencies": {
"#invertase/react-native-apple-authentication": "^2.1.2",
"#react-native-community/blur": "^3.6.0",
"#react-native-community/geolocation": "^2.0.2",
"#react-native-community/masked-view": "^0.1.10",
"#react-native-community/toolbar-android": "0.1.0-rc.2",
"#react-native-firebase/analytics": "^11.3.2",
"#react-native-firebase/app": "^11.3.2",
"#react-native-google-signin/google-signin": "^6.0.0",
"#react-navigation/bottom-tabs": "^5.11.8",
"#react-navigation/native": "^5.9.3",
"#react-navigation/stack": "^5.14.3",
"dateformat": "^3.0.3",
"filter-obj": "^2.0.2",
"lodash": "^4.17.15",
"lottie-ios": "^3.1.8",
"lottie-react-native": "^3.5.0",
"moment": "^2.29.1",
"patch-package": "^6.2.2",
"payment": "^2.3.0",
"react": "17.0.1",
"react-content-loader": "^6.0.3",
"react-native": "0.64.1",
"react-native-background-upload": "^5.6.1",
"react-native-base64": "0.0.2",
"react-native-bootsplash": "^2.2.4",
"react-native-check-box": "^2.1.7",
"react-native-checkbox-form": "^1.1.5",
"react-native-checkbox-group": "^1.0.3",
"react-native-credit-card-input-fullpage": "^0.2.0",
"react-native-device-info": "^8.0.5",
"react-native-dialog": "^5.6.0",
"react-native-drawer-layout-polyfill": "^2.0.0",
"react-native-fbsdk": "^1.1.2",
"react-native-gesture-handler": "^1.10.3",
"react-native-google-places-autocomplete": "^1.8.0",
"react-native-image-picker": "^2.3.3",
"react-native-key-value-storage": "^3.1.0",
"react-native-keyboard-accessory": "^0.1.12",
"react-native-loading-spinner-overlay": "^1.1.0",
"react-native-material-buttons": "^0.6.0",
"react-native-material-textfield": "^0.16.1",
"react-native-no-flicker-image": "^1.0.2",
"react-native-pager-view": "^5.1.3",
"react-native-paper": "^4.7.2",
"react-native-phone-input": "^0.2.4",
"react-native-picker-select": "^8.0.4",
"react-native-ratings": "^7.4.0",
"react-native-reanimated": "^1.10.1",
"react-native-responsive-screen": "^1.4.1",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.10.1",
"react-native-scrollable-tab-view": "^1.0.0",
"react-native-section-list-get-item-layout": "^2.2.3",
"react-native-secure-storage": "^0.1.2",
"react-native-simple-radio-button": "^2.7.4",
"react-native-star-rating": "^1.1.0",
"react-native-super-grid": "^3.2.0",
"react-native-svg": "^12.1.1",
"react-native-swipe-gestures": "^1.0.5",
"react-native-tab-view": "^3.0.1",
"react-native-vector-icons": "^7.0.0",
"react-native-version-check": "^3.4.2",
"react-native-webview": "^10.3.3",
"react-native-windows": "^0.62.4",
"react-navigation": "^4.4.0",
"react-navigation-drawer": "^2.5.0",
"react-navigation-material-bottom-tabs": "^2.3.0",
"react-navigation-stack": "^2.8.2",
"string": "^3.3.3",
"tipsi-stripe": "^7.5.3",
"typescript": "^3.9.7" },
"devDependencies": {
"#babel/core": "^7.12.9",
"#babel/runtime": "^7.12.5",
"#react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^26.6.3",
"eslint": "^7.14.0",
"jest": "^26.6.3",
"jetifier": "^1.6.6",
"metro-react-native-babel-preset": "^0.64.0",
"react-native-dotenv": "0.2.0",
"react-test-renderer": "17.0.1" },
"jest": {
"preset": "react-native" }
}
I clone the repo and modified the ViewManger Name and it worked fine for me you may try it.
past following, to roo dir in package.json and run command yarn install
"react-native-pager-view": "git://github.com/AtaMuhiuldin/react-native-view-pager.git"
it's working for me!
Here there is small issue in lib i guess.
If you import like below
import PagerView from 'react-native-pager-view';
It will not work, but if you try to import like below, it will work.
import { PagerView } from 'react-native-pager-view';
npm uninstall react-native-pager-view
then
npx react-naive run-android
i notice that the problem is that when you install the library and this library exist already on some other libraries dependencies
you can import it without install it again
check package-lock.json you can find it already

Can't find variable: Symbol

I'm using create-react-native-app with expo's react-native v22.0.1. I've developed my app using the emulator, where it works properly. However, when I open it with the Expo app, I get a "Can't find variable: Symbol" error, occurring in assembleStyles (I've got no idea what that is that's just a function from the ansi-styles library, probably the error happens somewhere else).
I've tried importing babel-polyfill or es6-symbol to the first line of my App.js file (entrypoint), but with no success.
What can be going on here?
Edit: these are my dependencies
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-plugin-module-resolver": "^2.7.1",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-require-ignore": "^0.1.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react-native": "^4.0.0",
"chai": "^4.1.1",
"chai-enzyme": "0.8.0",
"cross-env": "^5.1.0",
"enzyme": "3.1.0",
"ignore-styles": "5.0.1",
"jest-expo": "22.0.0",
"node-sass": "4.5.3",
"npm-run-all": "4.1.1",
"react-addons-test-utils": "15.6.2",
"react-native-scripts": "^1.5.0",
"react-scripts": "^1.0.14",
"react-test-renderer": "16.0.0",
"sw-precache": "5.2.0",
"watchman": "^0.1.8"
},
"dependencies": {
"babel-plugin-remove-nonjs": "0.1.1",
"babel-plugin-transform-inline-environment-variables": "^0.2.0",
"expo": "^22.0.0",
"nodemon": "^1.12.1",
"prop-types": "15.6.0",
"qs": "6.5.1",
"react": "16.0.0-beta.5",
"react-dom": "16.0.0",
"react-facebook-login": "3.6.2",
"react-google-login": "^3.0.1",
"react-helmet": "5.2.0",
"react-images": "^0.5.11",
"react-native":
"https://github.com/expo/react-native/archive/sdk-22.0.1.tar.gz",
"react-native-keyboard-spacer": "^0.4.1",
"react-native-snap-carousel": "^3.3.4",
"react-redux": "^5.0.6",
"react-router-dom": "^4.2.0",
"react-router-native": "^4.2.0",
"react-slick": "0.15.4",
"redux": "^3.7.2",
"redux-thunk": "2.2.0",
"slick-carousel": "^1.8.1",
"styled-components": "^2.2.1"
}