我正在寻找一种方法来检查我的参数是否未定义。我试过了,但它不起作用:
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()
}