Я разрабатываю в реагировать родной и использую реагировать навигации.У меня есть навигатор вкладок с навигаторами вложенных стеков, представляющих каждую вкладку.Я пытаюсь перейти от моего корневого компонента и передать параметры из навигатора вкладок в навигатор с вложенными стеками.Так из приложения в HomeNavigator в оповещения.Тем не менее, я получаю неопределенный для параметров в компоненте вложенного стека.Я был бы очень признателен за любую помощь по этому вопросу.
class App extends Component<Props> {
componentDidMount() {
NavigationService.navigate('Alerts', { uploadedId: '12345' });
}
return (
<HomeNavigator
ref={navigatorRef => {
NavigationService.setTopLevelNavigator(navigatorRef);
}}
/>
)
}
// Navigation Service
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,
};
// Navigator Definitions
export const AlertsStack = createStackNavigator({
Alerts: {
screen: Alerts,
},
AlertPost: {
screen: AlertPost,
},
})
export const HomeNavigator = createBottomTabNavigator(
{
Alerts: {
screen: AlertsStack,
navigationOptions: {
// tabBarLabel: 'Alerts',
tabBarIcon: ({ tintColor }) => <Icon name="notifications" size={35} color={tintColor} />
},
},
}
)
class Alerts extends Component {
componentDidMount() {
// This is undefined everytime
let uploadedId = this.props.navigation.state.params.uploadedId
}
render() {
}
}