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



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

主屏幕(导航到 GetPromoScreen(

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

GetPromoScreen (验证参数对象(

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

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

类型错误:未定义不是对象(评估 'this.props.navigation.state.params.promo'(

我上面的验证代码不起作用。知道吗?

if(this.props.route.params){
        formData.push('profile_id' + "=" + this.props.route.params.profile_id);
    }

相关内容

  • 没有找到相关文章