我正在开发反应原生和使用反应导航 . 我有一个标签导航器,其中嵌套的堆栈导航器代表每个标签 . 我试图从我的根组件导航并将参数从选项卡导航器传递到嵌套的堆栈导航器 . 所以从App到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() {
}
}