React Native - addnavigationHelpers не определен - PullRequest
2 голосов
/ 05 февраля 2020

Я довольно новичок в реагировании на родную систему, и при попытке настроить appNavigation вместе с redux я столкнулся со следующей ошибкой.

TypeError: (0, _reactNavigation.addNavigationHelpers) не является функция. (В '(0, _reactNavigation.addNavigationHelpers) ({dispatch: dispatch, state: nav})' (0, _reactNavigation.addNavigationHelpers) 'не определено.

Код - ->

Приложение. js -

import React from 'react';

import store from './src/store';
import { Provider } from 'react-redux';
import 'react-native-gesture-handler';
import AppNavigation from './src/components/AppNavigator';

export default class App extends React.Component {
    render() {
        return (
            <Provider store={store}>
                <AppNavigation />
            </Provider>
        );
    }
}

AppNavigator. js -

import React from 'react';
import TodoApp from '../TodoApp';
import TodoDetails from '../components/TodoDetails';

import { connect } from 'react-redux';
import { addNavigationHelpers } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';

export const AppNavigator = createStackNavigator(
    {
        todoDetails: TodoDetails,
        home: TodoApp,
    },
    {
        initialRouteName: 'todoDetails',
    },
);

const AppNavigation = ({ dispatch, nav }) => (
    <AppNavigator navigation={addNavigationHelpers({ dispatch, state: nav })} />
);

const mapStateToProps = state => ({
    nav :state.nav,
});

export default connect(mapStateToProps)(AppNavigation);

РЕДАКТИРОВАТЬ -

Я выполнил шаги, указанные в

Но, к сожалению, это выдает ошибку, говорящую

TypeError: undefined не является объектом (оценка 'state.routes')

Ошибка находится по адресу: в Навигаторе (в AppNavigator. js: 20) в AppNavigation (созданной ConnectFunction) в ConnectFunction (в App. js: 19) ......

Error received on changing the code as per other StackOverflow answer link

1 Ответ

0 голосов
/ 05 февраля 2020

addNavigationHelpers был удален из экспорта по умолчанию реагирующей навигации,

вам нужно напрямую добавить к navigation реквизиты как

<AppNavigator navigation={{
   dispatch: this.props.dispatch,
   state: this.props.nav,
   addListener,
}} />

Отличный ответ от priti sh, надеюсь, это поможет.

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