我迁移我的博览会项目,以反应本地项目。我删除了世博,并尝试使用本机方式添加启动屏幕和推送通知,并添加字体没有世博。我还安装了不使用世博的本地方式的react导航。我使用android和Xcode运行这个项目。我有一些问题,但是我通过在我的package.json文件中修复一些包版本来修复它们,现在我得到了这个错误:
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我的旧包装文件:
"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"
},发布于 2020-02-13 09:23:22
实际上,在您的情况下,这不是一个错误。这是来自本机反应的警告。
componentWillReceiveProps是一个同步钩子。调用异步函数(如在此钩子中获取数据)需要在设置新支持时和数据已完成加载之间呈现。
因此,反对componentWillReceiveProps的理由如下:
componentDidUpdate使用
因此,我建议您尽可能使用componentDidUpdate钩子并更新代码。
比较componentWillMount和componentDidMount.时发生的类似事情当您需要操作异步操作时使用componentDidMount,在任何情况下都忘记componentWillMount。
发布于 2021-04-01 21:48:51
您应该找到使用SafeView对象的包。来自“.”的-import SafeView
然后您可以从node_modules文件夹中找到这个包文件夹。然后您应该搜索代码并找到"componentWillReceiveProps“。将其重命名为UNSAFE_componentWillReceiveProps,如警告中声明的那样。
我的应用程序也解决了同样的问题。编码愉快!
发布于 2020-02-13 10:23:57
我通过重新安装导航和所使用的依赖项来修正此警告,因此我当前的包文件是:
"@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"感谢每个人
https://stackoverflow.com/questions/60204116
复制相似问题