• <i id='5dYDU'><tr id='5dYDU'><dt id='5dYDU'><q id='5dYDU'><span id='5dYDU'><b id='5dYDU'><form id='5dYDU'><ins id='5dYDU'></ins><ul id='5dYDU'></ul><sub id='5dYDU'></sub></form><legend id='5dYDU'></legend><bdo id='5dYDU'><pre id='5dYDU'><center id='5dYDU'></center></pre></bdo></b><th id='5dYDU'></th></span></q></dt></tr></i><div id='5dYDU'><tfoot id='5dYDU'></tfoot><dl id='5dYDU'><fieldset id='5dYDU'></fieldset></dl></div>

      <legend id='5dYDU'><style id='5dYDU'><dir id='5dYDU'><q id='5dYDU'></q></dir></style></legend>
    1. <small id='5dYDU'></small><noframes id='5dYDU'>

      <tfoot id='5dYDU'></tfoot>
      • <bdo id='5dYDU'></bdo><ul id='5dYDU'></ul>

        React Native - 导航问题“未定义不是对象(this.props.navigation.navigate)&

        React Native - navigation issue quot;undefined is not an object (this.props.navigation.navigate)quot;(React Native - 导航问题“未定义不是对象(this.props.navigation.navigate))
          <tfoot id='hSpQS'></tfoot>

        • <i id='hSpQS'><tr id='hSpQS'><dt id='hSpQS'><q id='hSpQS'><span id='hSpQS'><b id='hSpQS'><form id='hSpQS'><ins id='hSpQS'></ins><ul id='hSpQS'></ul><sub id='hSpQS'></sub></form><legend id='hSpQS'></legend><bdo id='hSpQS'><pre id='hSpQS'><center id='hSpQS'></center></pre></bdo></b><th id='hSpQS'></th></span></q></dt></tr></i><div id='hSpQS'><tfoot id='hSpQS'></tfoot><dl id='hSpQS'><fieldset id='hSpQS'></fieldset></dl></div>

          <legend id='hSpQS'><style id='hSpQS'><dir id='hSpQS'><q id='hSpQS'></q></dir></style></legend>

          1. <small id='hSpQS'></small><noframes id='hSpQS'>

              <tbody id='hSpQS'></tbody>

              <bdo id='hSpQS'></bdo><ul id='hSpQS'></ul>
                1. 本文介绍了React Native - 导航问题“未定义不是对象(this.props.navigation.navigate)"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在关注本教程 https://reactnavigation.org/docs/intro/ 并且我正在运行有点问题.

                  Im following this tutorial https://reactnavigation.org/docs/intro/ and im running into a bit of issues.

                  我每次都使用 Expo Client 应用程序来渲染我的应用程序,而不是模拟器/模拟器.

                  Im using the Expo Client app to render my app every time and not a simulator/emulator.

                  我的代码如下所示.

                  我最初在ChatScreen"组件上方定义了SimpleApp"常量,但这给了我以下错误:

                  I originally had the "SimpleApp" const defined above "ChatScreen" component but that gave me the following error:

                  Route 'Chat' 应该声明一个屏幕.例如:...等

                  Route 'Chat' should declare a screen. For example: ...etc

                  所以我将 SimpleApp 的声明移到AppRegistry"上方,并标记了一个新错误

                  so I moved the decleration of SimpleApp to just above "AppRegistry" and that flagged a new error

                  元素类型无效:预期的字符串.....您可能忘记导出您的组件..etc

                  Element type is invalid: expected string.....You likely forgot to export your component..etc

                  本教程没有在任何组件中添加关键字导出默认值",我认为这可能与我在 Expo 应用程序上运行它有关?所以我在HomeScreen"中添加了export default",错误就消失了.

                  the tutorial did not add the key words "export default" to any component which I think it may have to do with the fact that im running it on the Expo app? so I added "export default" to "HomeScreen" and the error went away.

                  我似乎无法摆脱的新错误(基于下面的代码)如下:

                  The new error that I cant seem to get rid off(based on the code below) is the following:

                  undefined 不是一个对象(评估 'this.props.navigation.navigate')

                  undefined is not an object (evaluating 'this.props.navigation.navigate')

                  除非我删除const {navigate}"周围的{}",否则我无法摆脱它,但是当我从主屏幕按下按钮时会破坏导航

                  I can't get rid of it unless I remove the "{}" around "const {navigate}" but that will break the navigation when I press on the button from the home screen

                  import React from 'react';
                  import {AppRegistry,Text,Button} from 'react-native';
                  import { StackNavigator } from 'react-navigation';
                  
                  export default class HomeScreen extends React.Component {
                    static navigationOptions = {
                      title: 'Welcome',
                    };
                    render() {
                      const { navigate } = this.props.navigation;
                      return (
                        <View>
                          <Text>Hello, Chat App!</Text>
                          <Button
                            onPress={() => navigate('Chat')}
                            title="Chat with Lucy"
                          />
                        </View>
                      );
                    }
                  }
                  
                  
                  
                  class ChatScreen extends React.Component {
                    static navigationOptions = {
                      title: 'Chat with Lucy',
                    };
                    render() {
                      return (
                        <View>
                          <Text>Chat with Lucy</Text>
                        </View>
                      );
                    }
                  }
                  
                  const SimpleApp = StackNavigator({
                    Home: { screen: HomeScreen },
                    Chat: { screen: ChatScreen },
                  });
                  AppRegistry.registerComponent('SimpleApp', () => SimpleApp);
                  

                  推荐答案

                  使用 Expo,您不应该自己注册应用程序,而是应该让 Expo 来完成,请记住,您必须始终导出默认组件:您还需要从 react-native 导入 View 和 Button:请在下面找到完整代码:

                  With Expo you should't do the App registration your self instead you should let Expo do it, keeping in mind that you have to export default component always: Also you need to import View and Button from react-native: please find below the full code:

                  import React from 'react';
                  import {
                    AppRegistry,
                    Text,
                    View,
                    Button
                  } from 'react-native';
                  import { StackNavigator } from 'react-navigation';
                  
                   class HomeScreen extends React.Component {
                    static navigationOptions = {
                      title: 'Welcome',
                    };
                    render() {
                      const { navigate } = this.props.navigation;
                      return (
                        <View>
                          <Text>Hello, Chat App!</Text>
                          <Button
                            onPress={() => navigate('Chat', { user: 'Lucy' })}
                            title="Chat with Lucy"
                          />
                        </View>
                      );
                    }
                  }
                  
                   class ChatScreen extends React.Component {
                    // Nav options can be defined as a function of the screen's props:
                    static navigationOptions = ({ navigation }) => ({
                      title: `Chat with ${navigation.state.params.user}`,
                    });
                    render() {
                      // The screen's current route is passed in to `props.navigation.state`:
                      const { params } = this.props.navigation.state;
                      return (
                        <View>
                          <Text>Chat with {params.user}</Text>
                        </View>
                      );
                    }
                  }
                  
                  const  SimpleAppNavigator = StackNavigator({
                    Home: { screen: HomeScreen },
                    Chat: { screen: ChatScreen }
                  });
                  
                  const AppNavigation = () => (
                    <SimpleAppNavigator  />
                  );
                  
                  export default class App extends React.Component {
                    render() {
                      return (
                          <AppNavigation/>
                      );
                    }
                  }
                  

                  这篇关于React Native - 导航问题“未定义不是对象(this.props.navigation.navigate)"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Undefined is not an object (evaluating #39;React.PropTypes.Number#39;) error(Undefined is not an object (evalating React.PropTypes.Number) 错误)
                  #39;ActionSheetIOS#39; is not exported from #39;react-native-web/dist/index#39;(ActionSheetIOS 不是从react-native-web/dist/index 导出的)
                  Gradient Button to background-color blinks on hover(悬停时背景颜色的渐变按钮闪烁)
                  How to make hovering over active button not use hover effect?(如何使悬停在活动按钮上不使用悬停效果?)
                  html javascript show image hover(html javascript 显示图像悬停)
                  How to get css hover values on click?(如何在点击时获得 css 悬停值?)

                  1. <legend id='5A4AU'><style id='5A4AU'><dir id='5A4AU'><q id='5A4AU'></q></dir></style></legend>

                  2. <tfoot id='5A4AU'></tfoot>
                    <i id='5A4AU'><tr id='5A4AU'><dt id='5A4AU'><q id='5A4AU'><span id='5A4AU'><b id='5A4AU'><form id='5A4AU'><ins id='5A4AU'></ins><ul id='5A4AU'></ul><sub id='5A4AU'></sub></form><legend id='5A4AU'></legend><bdo id='5A4AU'><pre id='5A4AU'><center id='5A4AU'></center></pre></bdo></b><th id='5A4AU'></th></span></q></dt></tr></i><div id='5A4AU'><tfoot id='5A4AU'></tfoot><dl id='5A4AU'><fieldset id='5A4AU'></fieldset></dl></div>
                      <bdo id='5A4AU'></bdo><ul id='5A4AU'></ul>

                      <small id='5A4AU'></small><noframes id='5A4AU'>

                              <tbody id='5A4AU'></tbody>