export default class Signin extends Component {
state ={
errorMessage: null
}
这里我使用 apisauce 和凭据来测试连接
signin = async() => {
try{
const response = await api.post('/auth/authenticate')({
email:'teste93@teste.com',
password:'123'
})
const {user, token} = response.data
await AsyncStorage.multiSet([
['@backend : token', token]
['@backend : user',JSON.stringify(user) ]
])
世博会说错误在这里
}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;
答案 0 :(得分:0)
TypeError: undefined 不是对象
此错误通常表示您正在尝试访问非对象类型的属性。 catch
块中公开的值将是一个 Error
对象,它没有 data
属性。
将您的 catch
块更改为以下内容。
} catch (error) {
this.setState({errorMessage: error.message})
}