用户未定义但 response.data 不是
User is undefined but response.data is not
我在 React Native 中遇到错误,尝试使用 response.data 设置用户状态,结帐:
export default class Home extends React.Component {
state = {
region: null,
errorMessage:null,
users: [],
user: []
}
然后在用户中我要获取当前用户:
currentUser = async() =>{
try{
const usu = JSON.parse(await AsyncStorage.getItem('@backend:user'))
const userID = usu._id
const response = await api.get(`/auth/` + userID.toString())
const { user } = response.data
this.setState({ user })
console.log({user})
console.log(response.data)
console.log(userID)
}catch(response){
this.setState({ errorMessage: response.data.error })
console.log(errorMessage)
}
}
如你所见,我 console.logged 一些东西,包括用户 ID,response.data 和应该与 response.data 相同的用户变量,这是我得到的
用户变量:
Object {
"user": undefined,
}
response.data:
Object {
"project": Object {
"__v": 0,
"_id": "6006ba7bdda76e2ab42a133f",
"address": "av sao sebastião santarem",
"createdAt": "2021-01-19T10:54:51.019Z",
"email": "teste@teste.com",
"latitude": -2.4229215,
"longitude": -54.7218379,
"speciality": " dermatologista",
"title": "teste",
},
}
用户id:
6006ba7bdda76e2ab42a133f
请阅读我对你的问题的评论,然后改为这样做
currentUser = async() =>{
try{
const usu = JSON.parse(await AsyncStorage.getItem('@backend:user'))
const userID = usu._id
const response = await api.get(`/auth/` + userID.toString())
const { id } = response.data
this.setState({ user : id })
console.log({user : id})
console.log(response.data)
console.log(userID)
}catch(response){
this.setState({ errorMessage: response.data.error })
console.log(errorMessage)
}
}
我在 React Native 中遇到错误,尝试使用 response.data 设置用户状态,结帐:
export default class Home extends React.Component {
state = {
region: null,
errorMessage:null,
users: [],
user: []
}
然后在用户中我要获取当前用户:
currentUser = async() =>{
try{
const usu = JSON.parse(await AsyncStorage.getItem('@backend:user'))
const userID = usu._id
const response = await api.get(`/auth/` + userID.toString())
const { user } = response.data
this.setState({ user })
console.log({user})
console.log(response.data)
console.log(userID)
}catch(response){
this.setState({ errorMessage: response.data.error })
console.log(errorMessage)
}
}
如你所见,我 console.logged 一些东西,包括用户 ID,response.data 和应该与 response.data 相同的用户变量,这是我得到的
用户变量:
Object {
"user": undefined,
}
response.data:
Object {
"project": Object {
"__v": 0,
"_id": "6006ba7bdda76e2ab42a133f",
"address": "av sao sebastião santarem",
"createdAt": "2021-01-19T10:54:51.019Z",
"email": "teste@teste.com",
"latitude": -2.4229215,
"longitude": -54.7218379,
"speciality": " dermatologista",
"title": "teste",
},
}
用户id:
6006ba7bdda76e2ab42a133f
请阅读我对你的问题的评论,然后改为这样做
currentUser = async() =>{
try{
const usu = JSON.parse(await AsyncStorage.getItem('@backend:user'))
const userID = usu._id
const response = await api.get(`/auth/` + userID.toString())
const { id } = response.data
this.setState({ user : id })
console.log({user : id})
console.log(response.data)
console.log(userID)
}catch(response){
this.setState({ errorMessage: response.data.error })
console.log(errorMessage)
}
}