【问题标题】:Invariant Violation: withNavigation can only be used on a view hierarchy of a navigatorInvariant Violation:withNavigation 只能用于导航器的视图层次结构
【发布时间】:2022-01-20 21:04:50
【问题描述】:

这是 package.json 文件。 如下所示,react 为 16.9。但他们说我必须降级反应版本来修复错误。 这是降级反应版本的参考:

https://github.com/react-navigation/react-navigation/issues/4416

@destpat 提到了更改 react 版本。

我该怎么做?我的意思是应该考虑降级到哪个版本?

这是我在安卓模拟器上运行应用时遇到的错误。

Invariant Violation: withNavigation can only be used on a view hierarchy of a navigator. The wrapped component is unable to get access to navigation from props or context.

This error is located at:
in withNavigation(NavigationEvents) (at OrderMapView/index.js:717)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at OrderMapView/index.js:714)
in OrderMapView (created by Connect(OrderMapView))
in Connect(OrderMapView) (at Home/index.js:102)
in StaticContainer (at SceneComponent.js:11)
in RCTView (at View.js:34)
in View (at SceneComponent.js:10)
in SceneComponent (created by ViewPager)
in RNCViewPager (at ViewPager.js:150)
in ViewPager (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at react-native-scrollable-tab-view/index.js:253)
in RCTView (at View.js:34)
in View (at react-native-scrollable-tab-view/index.js:396)
in ScrollableTabView (at Home/index.js:86)
in RCTView (at View.js:34)
in View (at Home/index.js:109)
in Home (at WithBackgroundTimer.js:70)
in WithBackgroundTimer (at WithAppStateAndLocation.js:207)
in WithAppStateAndLocation (created by Connect(WithAppStateAndLocation))
in Connect(WithAppStateAndLocation) (at navigationStore.js:319)
in Wrapped (at SceneView.js:31)
in SceneView (at CardStack.js:412)
in RCTView (at View.js:34)
in View (at CardStack.js:411)
in RCTView (at View.js:34)
in View (at CardStack.js:410)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.js:26)
in Card (at PointerEventsContainer.js:55)
in Container (at CardStack.js:454)
in RCTView (at View.js:34)
in View (at CardStack.js:383)
in RCTView (at View.js:34)
in View (at CardStack.js:382)
in CardStack (at CardStackTransitioner.js:97)
in RCTView (at View.js:34)
in View (at Transitioner.js:192)
in Transitioner (at CardStackTransitioner.js:49)
in CardStackTransitioner (at StackNavigator.js:60)
in Unknown (at createNavigator.js:52)
in Navigator (at createNavigationContainer.js:210)
in NavigationContainer (at SceneView.js:31)
in SceneView (at CardStack.js:412)
in RCTView (at View.js:34)
in View (at CardStack.js:411)
in RCTView (at View.js:34)
in View (at CardStack.js:410)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.js:26)
in Card (at PointerEventsContainer.js:55)
in Container (at CardStack.js:454)
in RCTView (at View.js:34)
in View (at CardStack.js:383)
in RCTView (at View.js:34)
in View (at CardStack.js:382)
in CardStack (at CardStackTransitioner.js:97)
in RCTView (at View.js:34)
in View (at Transitioner.js:192)
in Transitioner (at CardStackTransitioner.js:49)
in CardStackTransitioner (at StackNavigator.js:60)
in Unknown (at createNavigator.js:52)
in Navigator (at createNavigationContainer.js:210)
in NavigationContainer (at SceneView.js:31)
in SceneView (at DrawerScreen.js:40)
in DrawerScreen (at withCachedChildNavigation.js:66)
in withCachedChildNavigation(DrawerScreen) (at DrawerNavigator.js:106)
in Unknown (at createNavigator.js:52)
in Navigator (at DrawerView.js:215)
in RCTView (at View.js:34)
in View (at DrawerLayoutAndroid.android.js:204)
in AndroidDrawerLayout (at DrawerLayoutAndroid.android.js:223)
in DrawerLayoutAndroid (at DrawerView.js:195)
in DrawerView (at DrawerNavigator.js:127)
in Unknown (at createNavigator.js:52)
in Navigator (at createNavigationContainer.js:210)
in NavigationContainer (at SceneView.js:31)
in SceneView (at CardStack.js:412)
in RCTView (at View.js:34)
in View (at CardStack.js:411)
in RCTView (at View.js:34)
in View (at CardStack.js:410)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.js:26)
in Card (at PointerEventsContainer.js:55)
in Container (at CardStack.js:454)
in RCTView (at View.js:34)
in View (at CardStack.js:383)
in RCTView (at View.js:34)
in View (at CardStack.js:382)
in CardStack (at CardStackTransitioner.js:97)
in RCTView (at View.js:34)
in View (at Transitioner.js:192)
in Transitioner (at CardStackTransitioner.js:49)
in CardStackTransitioner (at StackNavigator.js:60)
in Unknown (at createNavigator.js:52)
in Navigator (at createNavigationContainer.js:210)
in NavigationContainer (at Router.js:70)
in App (at Router.js:91)
in Router (created by Connect(Router))
in Connect(Router) (at navigator/index.js:266)
in _default (at src/index.js:67)
in Provider (at src/index.js:66)
in RCTView (at View.js:34)
in View (at src/index.js:60)
in App (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)
[Sat Dec 18 2021 06:41:35.575]  ERROR    TypeError: undefined is not an object (evaluating 'this.map.setNativeProps')
{
  "name": " ",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "prettier": "prettier --write '*.js'",
    "format-code": "yarn run prettier"
  },
  "dependencies": {
    "@mapbox/polyline": "^1.0.0",
    "@ptomasroos/react-native-multi-slider": "^0.0.14",
    "@react-native-community/art": "^1.2.0",
    "@react-native-community/async-storage": "^1.12.1",
    "@react-native-community/cli-platform-ios": "3.0.0",
    "@react-native-community/geolocation": "^2.0.2",
    "@react-native-community/netinfo": "^4.4.0",
    "@react-native-community/picker": "^1.8.1",
    "@react-native-community/viewpager": "^4.1.6",
    "@react-native-picker/picker": "^1.9.2",
    "apisauce": "^0.14.3",
    "async": "^2.6.0",
    "axios": "^0.21.0",
    "base-64": "^0.1.0",
    "lodash": "^4.17.10",
    "moment": "^2.22.1",
    "prop-types": "^15.6.1",
    "react": "16.9.0",
    "react-devtools": "^4.8.2",
    "react-native": "0.63.2",
    "react-native-a-beep": "^1.0.6",
    "react-native-actionsheet": "^2.4.2",
    "react-native-background-timer": "2.0.0",
    "react-native-beep-tone": "^1.0.2",
    "react-native-clean-project": "^3.4.0",
    "react-native-cli": "^2.0.1",
    "react-native-datepicker": "^1.7.2",
    "react-native-firebase": "^5.6.0",
    "react-native-gesture-handler": "^1.7.0",
    "react-native-htmlview": "^0.13.0",
    "react-native-image-picker": "^0.26.10",
    "react-native-image-placeholder": "^1.0.14",
    "react-native-image-progress": "^1.1.1",
    "react-native-image-resizer": "^1.0.0",
    "react-native-intl-phone-input": "^1.2.26",
    "react-native-iphone-x-helper": "^1.0.3",
    "react-native-keyboard-manager": "^4.0.13-7",
    "react-native-linear-gradient": "^2.4.0",
    "react-native-loading-spinner-overlay": "^1.1.0",
    "react-native-maps": "0.27.1",
    "react-native-message-bar": "^2.0.10",
    "react-native-modal": "^6.0.0",
    "react-native-notification-sounds": "^0.5.2",
    "react-native-openanything": "^0.0.6",
    "react-native-picker-select": "^8.0.2",
    "react-native-progress": "^4.1.2",
    "react-native-progress-bar-animated": "^1.0.6",
    "react-native-progress-timer": "^1.0.1",
    "react-native-push-notification": "^8.1.1",
    "react-native-reanimated": "^1.13.0",
    "react-native-router-flux": "4.0.0-beta.27",
    "react-native-safe-area-context": "^3.3.2",
    "react-native-safe-area-view": "^1.1.1",
    "react-native-screens": "^2.10.1",
    "react-native-scrollable-tab-view": "^1.0.0",
    "react-native-search-box": "^0.0.18",
    "react-native-simple-toast": "^1.1.2",
    "react-native-sound": "^0.11.0",
    "react-native-sounds-beep": "0.0.1",
    "react-native-star-rating": "^1.0.9",
    "react-native-svg": "10.0.0",
    "react-native-swipeout": "^2.3.3",
    "react-native-swiper": "^1.6.0-nightly.3",
    "react-navigation": "^4.4.0",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "redux-logger": "^3.0.6",
    "redux-saga": "^0.16.0",
    "redux-storage": "^4.1.2",
    "redux-storage-decorator-filter": "^1.1.8",
    "redux-storage-engine-reactnativeasyncstorage": "^1.0.5",
    "remote-redux-devtools": "^0.5.12",
    "remotedev": "^0.2.9",
    "remotedev-server": "^0.3.1",
    "reselect": "^3.0.1",
    "seamless-immutable": "^7.1.3",
    "victory-native": "30.0.0"
  },
  "devDependencies": {
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "24.3.1",
    "jest": "24.3.1",
    "metro-react-native-babel-preset": "0.53.0",
    "react-test-renderer": "16.6.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

【问题讨论】:

    标签: react-native navigator


    【解决方案1】:

    问题已解决。刚刚删除了 node_modules 并清除了纱线缓存。 重新安装了node_modules,它工作了。

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 2013-04-27
      • 1970-01-01
      • 2019-11-11
      相关资源
      最近更新 更多