【发布时间】:2018-07-28 12:15:34
【问题描述】:
目前我有这个屏幕场景:
const Tabs = TabNavigator({
Home: {
screen: Home,
navigationOptions: {
tabBarLabel: 'Home',
tabBarIcon: <Image style={{height: 22, width: 22}} source={require('../assets/images/nav-home.png')}/>,
header: null
}
},
Thanks: {
screen: Thanks,
navigationOptions: {
tabBarLabel: 'Thanks',
tabBarIcon: <Image style={{height: 22, width: 21}} source={require('../assets/images/nav-thanks.png')}/>,
header: null
}
},
Profile: {
screen: Profile,
navigationOptions: {
gesturesEnabled: false
}
},
},
{
initialRouteName: 'Home',
tabBarPosition: 'bottom',
},
)
const Drawer = DrawerNavigator(
{
Tabs: {
screen: Tabs,
navigationOptions: {
drawerLabel: () => null
}
},
Search: {screen: SearchAndProfile}
},
{
drawerPosition: 'right',
initialRouteName: 'Tabs',
drawerOpenRoute: 'DrawerOpen',
drawerCloseRoute: 'DrawerClose',
drawerToggleRoute: 'DrawerToggle'
})
const NotLoggedIn = StackNavigator(
{
LoginScreen: {
screen: Login,
navigationOptions: {
gesturesEnabled: false,
}
},
Drawer: {screen: Drawer}
},
{
initialRouteName: 'LoginScreen',
headerMode: 'none',
navigationOptions: {
gesturesEnabled: false,
}
}
)
const LoggedIn = StackNavigator(
{
Drawer: {screen: Drawer}
},
{
headerMode: 'none',
navigationOptions: {
gesturesEnabled: false,
},
transitionConfig : () => ({
transitionSpec: {
duration: 0,
timing: Animated.timing,
easing: Easing.step0,
},
}),
}
)
export const Root = StackNavigator(
{
Splash:{screen: Splash},
LoggedIn: {
screen: LoggedIn,
navigationOptions: {
gesturesEnabled: false
}
},
NotLoggedIn: {screen: NotLoggedIn}
},
{
headerMode: 'none',
navigationOptions: {
gesturesEnabled: false,
},
transitionConfig : () => ({
transitionSpec: {
duration: 0,
timing: Animated.timing,
easing: Easing.step0,
},
}),
}
)
我正在尝试将参数从启动屏幕传递到 LoggedIn 屏幕,但似乎在 TabNavigator(在主屏幕中)中未定义参数
我是这样传递的
this.props.navigation.navigate('LoggedIn',{testData: 'testing'})
在 componentDidMount() 函数中,当我登录 this.props.navigation.state.params 时,我得到了未定义。可能是什么原因?
【问题讨论】:
标签: javascript reactjs react-native navigation react-navigation