React Native — addnavigationHelpers не определен

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

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

Код -->

App.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);

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

Я выполнил шаги, указанные в https://stackoverflow.com/questions/50246457/react-native-reactnavigation-addnavigationhelpers-in-not-a-function

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

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

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

Получена ошибка при изменении кода по другой ссылке ответа StackOverflow


person Karan Asthana    schedule 05.02.2020    source источник
comment
Возможный дубликат stackoverflow .com/questions/50246457/   -  person Guruparan Giritharan    schedule 05.02.2020
comment
Не используйте Redux для хранения состояния навигации reactnavigation.org/docs/en/   -  person satya164    schedule 05.02.2020


Ответы (1)


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

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

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

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

person Gaurav Roy    schedule 05.02.2020
comment
Уже попробовал ответ @gaurav-roy. но это дает ошибку с указанием undefined is not an object (evaluating 'state.routes') - person Karan Asthana; 05.02.2020
comment
где вы использовали state.routes? - person Gaurav Roy; 05.02.2020
comment
У меня нет @gaurav-roy. Я обновлю изображение ошибки в вопросе Готово. - person Karan Asthana; 05.02.2020