createReduxBoundAddListener устарела в Reaction-navigation-redux-helpers@2.0.0!Пожалуйста, используйте вместо него reduxifyNavigator - PullRequest
0 голосов
/ 02 октября 2018

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

Инвариантное нарушение: createReduxBoundAddListener устарела в Reaction-navigation-redux-helpers@2.0.0!Пожалуйста, используйте 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;
}

1 Ответ

0 голосов
/ 05 октября 2018

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

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