Перейдите к экрану реакции-родной неопределенной опоры навигации - PullRequest
0 голосов
/ 31 декабря 2018

Я работаю над родным приложением, и в настоящее время у меня есть два экрана, доступных с помощью вкладок внизу.Я хотел бы перейти к определенному экрану на Press и пытаюсь вызвать переход с одного экрана на другой.

Чтобы сделать это, похоже, мне нужно пройти в подпорку к экрану и получить к ней доступ следующим образом:

const {navigate} = this.props.navigation;

А затем сделать:

onPress={() => navigate('Result', {result: results[i]})}

Хотя это приводит к ошибке, говорящей о том, что navigation опора не определена.Я не совсем понимаю, откуда эта пропила / как передать ее на экран.В идеале, я бы хотел, чтобы у каждого экрана был доступ к стеку навигации.Мне было очень тяжело заставить это работать и я благодарен за любые советы, как это сделать.

Соответствующий код навигатора:

AppNavigator.js

import React from 'react';
import { createSwitchNavigator } from 'react-navigation';

import MainTabNavigator from './MainTabNavigator';

    export default createSwitchNavigator({
      // You could add another route here for authentication.
      // Read more at https://reactnavigation.org/docs/en/auth-flow.html
      Main: MainTabNavigator,
    });

1 Ответ

0 голосов
/ 31 декабря 2018

Вы можете использовать withNavigation HOC для передачи navigation реквизита в компонент.

Пример кода:

import React from 'react';
import { withNavigation } from 'react-navigation';

class YourComponent extends React.Component {
  render() {
    const {navigate} = this.props.navigation;
    return <Button onPress={() => navigate('Result', {result: results[i]})} />;
  }
}

export default withNavigation(YourComponent);

Источник: https://reactnavigation.org/docs/en/with-navigation.html

...