反应本机检查我的参数是否未定义



我正在寻找一种方法来检查我的参数是否未定义。我试过了,但它不起作用:

componentWillMount() {
    if (typeof this.props.navigation.state.params.Username != 'undefined'){
        this.getInfos()
    } else {
        this.navigate('ComponentOne');
    }
}

仍然有这个错误:"undefined不是一个对象(评估'this.props.navigation.state.params.Username')"

知道吗?

谢谢

尝试使用 componentDidMount() 而不是 componentWillMount()

componentDidMount() {
  if (this.props.navigation.state.params.Username){
        this.getInfos()
    } else {
        this.navigate('ComponentOne');
    }
}

如果仍然遇到这个未定义的错误,那么您的"参数"本身必须是未定义的。不能在未定义上使用点运算符

console.log(this.props.navigation.state.params)

检查它是否未定义并调试您犯错的地方

试试这个:

if (this.props.navigation.state.params.Username) {
    this.getInfos()
}

或将单引号替换为双引号(在 Reactjs 中测试):

if (typeof this.props.navigation.state.params.Username != "undefined") {
     this.getInfos()
}

相关内容

  • 没有找到相关文章

最新更新