检查是否已设置导航状态参数对象

时间:2019-02-12 10:29:33

标签: react-native parameters navigation

我正在尝试进行一些验证,以查看导航到我的GetPromoScreen时是否已设置params对象,但是它不起作用。这是我的示例代码:

主屏幕(导航到GetPromoScreen)

this.props.navigation.navigate('GetPromoScreen', { promo: true })

GetPromoScreen (验证params对象)

if(this.props.navigation.state.params.promo != undefined){
    this.setState({ promo: true })
} else {
    this.setState({ promo: false })
}

我有一个来自HomeScreen的警报对话框,当用户按下按钮时,它将触发我设置参数promo的功能。但是,如果用户关闭警报对话框并直接从菜单按钮输入GetPromoScreen,则不会设置参数promo,并且在发生这种情况时,会出现错误消息:

  

TypeError:undefined不是对象(正在评估   'this.props.navigation.state.params.promo')

我上面的验证码不起作用。有想法吗?

0 个答案:

没有答案