Я использую реагирующую навигацию с избыточностью В документе сказано, что интеграция с избыточностью больше не поддерживается. Поэтому предлагается навигация без навигационной опоры. В функции навигации (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
}