в реакции-навигации v3 навигация без навигационной поддержки не является функцией - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь использовать пример на Navigating without the navigation prop на Reaction-native v3.11.0.

но я получил эту ошибку:

TypeError: NavigationService._navigator.dispatch is not a function
    at Function.navigate (C:\...\NavigationService.js)

Может кто-нибудь помочь мне в чем моя ошибка?

Обновление

Мой код:

import React from 'react';
import {NavigationActions, StackActions} from 'react-navigation';

export default class NavigationService extends React.Component {
  static _navigator;

  static setTopLevelNavigator(navigatorRef) {
    NavigationService._navigator = navigatorRef;
  }

  static navigate(routeName, params = null) {
    let options = params == null ? {routeName} : {routeName, params};
      NavigationService._navigator.dispatch(NavigationActions.navigate(options));
  }
}

и в App.js:

  render() {
    return (
          <Navigation
            ref={(navigatorRef) => {
              NavigationService.setTopLevelNavigator(navigatorRef);
            }}
          />
    );
  }

1 Ответ

0 голосов
/ 26 июня 2019

ваш код отличается от документации. Попробуйте использовать код в документах

// NavigationService.js

import { NavigationActions } from 'react-navigation';

let _navigator;

function setTopLevelNavigator(navigatorRef) {
  _navigator = navigatorRef;
}

function navigate(routeName, params) {
  _navigator.dispatch(
    NavigationActions.navigate({
      routeName,
      params,
    })
  );
}

// add other navigation functions that you need and export them

export default {
  navigate,
  setTopLevelNavigator,
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...