Saltar al contenido

React Native: problema de navegación “undefined no es un objeto (this.props.navigation.navigate)”

Solución:

Con Expo, no debe realizar el registro de la aplicación usted mismo, sino que debe dejar que Expo lo haga, teniendo en cuenta que siempre debe exportar el componente predeterminado: También debe importar la Vista y el Botón desde react-native: por favor encuentre debajo el completo código:

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/>
    );
  }
}

Información adicional: cuando anida componentes secundarios, debe pasar la navegación como prop en el componente principal. //parent.js
<childcomponent navigation={this.props.navigation}/>

Y puedes acceder a una navegación como esta

//child.js

ingrese la descripción de la imagen aquí


this.props.navigation.navigate('yourcomponent');

Referencia: https://reactnavigation.org/docs/en/connecting-navigation-prop.html

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *