Получить параметры, связанные с React Navigation с помощью Redux - PullRequest
0 голосов
/ 08 января 2019

Я использую реагирующую навигацию с избыточностью В документе сказано, что интеграция с избыточностью больше не поддерживается. Поэтому предлагается навигация без навигационной опоры. В функции навигации (routeName, params) мы можем передавать routeName и params (взгляните на NavigationSerice.js). Как я могу получить доступ к параметрам, переданным через NavigationService.navigate ('Home', {msg: 'abcd'})?

NavigationService.js

import { NavigationActions } from 'react-navigation';
let navigator;

function setTopLevelNavigator(navigatorRef) {
  navigator = navigatorRef;
}

function navigate(routeName, params) {
  navigator.dispatch(
    NavigationActions.navigate({
      routeName,
      params,
    })
  );
}

export default {
  navigate,
  setTopLevelNavigator,
};

AuthActions.js

export const loginChecked = (registrationNo, password) => {
  return (dispatch) => {

    const data = new FormData();
    data.append('un', registrationNo);
    data.append('pa', password);
    fetch(url, {
      method: 'POST',
       body: data
    })
    .then((response) => response.json())
    .then(responseJson => {
        NavigationService.navigate('Home', { 
            msg: responseJson.msg           //How can I access this msg params passed here
    });
     })
  };
};

Home.js

componentDidMount() {
    console.log('navigationMsg', this.props.navigation.msg); //gives undefined
    console.log('navigationMsg1', this.props.navigation.getParam('msg', 'abc')); //gives undefined
}
...