undefined не является объектом (оценка '_reactNativeNavigation.default.push') - PullRequest
0 голосов
/ 30 января 2019

Я только что обновил RNN до версии 2, и я застрял с моим первым нажатием

Я получаю ошибку:

undefined is not an object (evaluating '_reactNativeNavigation.default.push') 

другие ответы о переполнении стека мне мало помоглидо сих пор

Я полагаю, что моя проблема связана с this.props.componentId, но я также не смог найти никакой помощи в официальном документе.

или, возможно, это неправильный вызов стекатак как я никогда не использую свойство id, установленное в App.js

, мне также интересно, нужно ли указывать идентификатор вручную для каждого экрана или, как сказано в документе, это будет сделано автоматически RNN

если кто-то может мне помочь, я немного растерялся -_-

мой код:

App.js

import { Navigation } from 'react-native-navigation';
import { Provider } from 'react-redux';

import LandingScreen from './src/screens/Landing/Landing';
import AuthScreen from './src/screens/Auth/Auth';

import configureStore from './src/store/configureStore';

import strings from './src/global/strings';

const store = configureStore();

// Landing
Navigation.registerComponentWithRedux(strings.screens.screenLanding, () => LandingScreen, Provider, store);

// Auth
Navigation.registerComponentWithRedux(strings.screens.screenAuth, () => AuthScreen, Provider, store);


// Start App

Navigation.events().registerAppLaunchedListener(() => {
  Navigation.setRoot({
    root: {
      stack:{
        id:"appStack",
        children: [
          {
            component: {
              name: strings.screens.screenLanding,
              options: {
                topBar:{
                  title:{
                    text:"Welcome"
                  }
                }
              }
            }
          }
        ]
      },

    }
  });
});

Landing.js

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

import Navigation from 'react-native-navigation';

import strings from '../../global/strings';

class Landing extends Component {

    goToScreen = (screenName) => {
        Navigation.push(this.props.componentId, {
            component: {
                name: screenName
            }
        })
    }

    render() {
        return (
            <View>
                <Button
                    title="Connexion"
                    onPress={() => this.goToScreen(strings.screens.screenAuth.toString())}
                />
            </View>
        )
    }
}

export default Landing;

1 Ответ

0 голосов
/ 31 января 2019

как указано jinshin1013 в Отслеживание проблем RNN В Landing.js,

У меня должна быть навигация для импорта, подобная этой:

import { Navigation } from 'react-native-navigation
...