用户未定义但 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)
    }
  }