CreateReduxBoundAddListener устарел в [email protected]! Вместо этого используйте reduxifyNavigator

Я использую реагирующую навигацию и redux для навигации между экранами. Вместо этого я получаю сообщение об ошибке.

Invariant Violation: createReduxBoundAddListener is deprecated in [email protected]! Please use reduxifyNavigator

Я не знаю, как это исправить, пожалуйста, помогите мне.

App.js

 import React from 'react';
 import { Provider } from "react-redux";
 import store from "./src/redux/store"      
 import { createReduxBoundAddListener } from "react- navigation-redux-helpers";
 import AppWithNavigationState from "./src/navigators/AppNavigator";

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

      //Here Im getting an error regarding creacteReduxBoundAddListener

     <AppWithNavigationState listener{createReduxBoundAddListener("root")}/>
   </Provider>
  );
 }
}

Файл AppNavigator.js

import React, { Component } from 'react';
import { View, Text } from 'react-native';
import {connect} from "react-redux";
import {PropTypes} from 'prop-types';
import {addNavigationHelpers,createStackNavigator } from "react-navigation";
import LoggedOut from "../screens/LoggedOut";
import LogIn from "../screens/Login";
import ForgotPassword from "../screens/ForgotPassword";

// created screens using createStackNavigator

export const AppNavigator = createStackNavigator({
  LoggedOut:{screen:LoggedOut},
  LogIn:{screen:LogIn},
  ForgotPassword:{screen:ForgotPassword},

});

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

AppWithNavigationState.propTypes = {
  dispatch:PropTypes.func.isRequired,
  nav:PropTypes.object.isRequired
};

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

export default connect(mapStateToProps)(AppWithNavigationState);

navigation.js

import {AppNavigator} from "../../navigators/AppNavigator";


const firstAction = 
AppNavigator.router.getActionForPathAndParams("LoggedOut");  //decide which 
                                                             //screen will 
                                                             //load first

const initialNavState = AppNavigator.router.getStateForAction(firstAction);

export const nav = (state=initialNavState, action)=>{
  let nextState = AppNavigator.router.getStateForAction(action,state);
  return nextState || state;
}
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
2
1
2 771
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете проверить это репо https://github.com/JaiDeves/AirBnB-React, я обновил код более новой версией реакции-навигации.

Другие вопросы по теме