未处理的承诺拒绝:TypeError:undefined 不是 expo 中的对象(评估'_context.t0.data.error')
2021-01-08
14326
export default class Signin extends Component {
state ={
errorMessage: null
}
在这里我使用 apisauce 和凭据来测试连接
signin = async() => {
try{
const response = await api.post('/auth/authenticate')({
email:'[email protected]',
password:'123'
})
const {user, token} = response.data
await AsyncStorage.multiSet([
['@backend : token', token]
['@backend : user',JSON.stringify(user) ]
])
expo 说错误在这里
}catch(response){
this.setState({errorMessage: response.data.error})
}
}
render() {
return (
<View style={styles.Container}>
{ this.state.errorMessage && <Text>{ this.state.errorMessage }</Text> }
<Button onPress={this.signin} title="Entrar"/>
</View>
);
}
}
这是我的服务/api
import { create } from 'apisauce'
const api = create({
baseURL: 'http://locahost:300'
})
api.addResponseTransform(response => {
if (!response.ok) throw response;
console.log(response)
})
export default api;
1个回答
TypeError: undefined is not an object
此错误通常表示您尝试访问非对象类型的属性。
catch
块中公开的值将是一个
Error
对象,该对象没有
data
属性。
将您的
catch
块更改为以下内容。
} catch (error) {
this.setState({errorMessage: error.message})
}
Emiel Zuurbier
2021-01-08