reactjs - React 导航不变违规 : Attempt to get native tag

标签 reactjs react-native react-redux react-navigation

我在尝试使用 react 导航设置简单的导航应用程序时遇到错误。

这是index.js:

/** @format */

import { AppRegistry } from 'react-native';
import { createStackNavigator } from 'react-navigation';
import SecondScreen from './app/screens/SecondScreen';
import FirstScreen from './app/screens/FirstScreen';
import { name as appName } from './app.json';

const App = createStackNavigator(
  {
    SecondScreen,
    FirstScreen,
  },
  {
    initialRouteName: 'FirstScreen',
  },
);

AppRegistry.registerComponent(appName, () => App);

这是 FirstScreen.js:

import React, { Component } from 'react';
import { Button } from 'react-native';

export default class ReadingScreen extends Component {
  static navigationOptions = {
    header: null,
  };

  render() {
    return <Button title="CLICK ME" onPress={this.props.navigation.navigate('SelectScreen')} />;
  }
}

当我将初始屏幕设置为 SecondScreen 时,一切都很好,但是当它像这样时,我收到此错误:

Invariant Violation: Attempt to get native tag from node not marked as "native"

帮助将不胜感激!我一整天都在寻找解决方案!

这是我的版本:

"react": "16.4.1",
"react-native": "0.56.0",
"react-navigation": "^2.12.0"

最佳答案

同样的错误,我无法导航,它只是挂起并抛出相同的错误,但是当我远程调试时它可以工作,我认为这与在 xcode 项目中安装的 cocoa pod 或其他东西有关。奇怪的是,几天前这个项目确实运行正常。

我做的唯一不同的事情是重新安装并更新react中的依赖项,也许这是当前react-navigation版本的错误,我是版本2.11.2,现在是2.12。

是的!!解决了,是版本问题。我将 react 导航从 2.12.0 降级到 2.11.2,它起作用了!

关于reactjs - React 导航不变违规 : Attempt to get native tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51986291/

相关文章:

javascript - 如何停止订阅商店更新?

reactjs - 直到按下 2 'backspace' 才意识到 TextInput 是空的

reactjs - 像 'useLocation' 这样的 react 路由器钩子(Hook)的 stub 不起作用

reactjs - 如何根据reactjs中显示的内容拉伸(stretch)卡片?

javascript - 在 React 中使用 js-cookie 在域级别设置 cookie

reactjs - 由于react-native中的设计,DatePickerIOS无法工作

javascript - 值未传递给组件 - React Native

javascript - ReactJS 使用 Hooks 和 Redux 的良好实践。我应该在每个组件中使用 useSelector,还是应该通过 props 传递?

reactjs - Redux - 从后端获取初始状态 - 这是正确的方法吗?

javascript - React 加载第三方脚本并在之后调用该脚本中的函数