未处理的拒绝(TypeError):无法读取未定义的属性“错误”

时间:2020-01-12 18:34:29

标签: reactjs mongodb

我对React还是很陌生,我一直在尝试创建一个SignUp页面,但是,我陷入了这个错误。有人可以告诉我我应该怎么做才能解决此错误吗?

enter image description here

enter image description here

注册方法:

//  = Action =
// Sign up
export const signup = user => {
    return fetch(
        `${API}/signup`,
        {
            method: 'POST',
            headers: {
                Accept:'application/json',
                'Content-Type' : 'application/json'
            },
            body: JSON.stringify(user)
        })
        .then(response => {
            return response.json();
        })
        .catch(err => console.log(err));
}

3 个答案:

答案 0 :(得分:1)

重写注册方法(ps:我只改了.catch处理程序)

`

db.find({all_fields_and_subfields: {'$regex': '^ice\s*', '$options': 'i'}

`

答案 1 :(得分:0)

您需要将fetch逻辑包装在Promise中,以将值返回给调用方。

export const signup = user => {
    return new Promise((resolve, reject) => {
      fetch(`${API}/signup`,
        {
            method: 'POST',
            headers: {
                Accept:'application/json',
                'Content-Type' : 'application/json'
            },
            body: JSON.stringify(user)
        })
        .then(response => response.json())
        .then(jsonData => resolve(jsonData))
        .catch(err => resolve({error: `something went wrong err : ${err}`}));
  })
}

signup(user).then(data => {
  if (data.error) {
    // handle error case 
  } else {
    // handle success case
  }
})

现在,您的signup方法将返回一个值。您的data变量将不再是undefined

我希望它会有所帮助,随时添加评论或询问我更多详细信息

答案 2 :(得分:0)

数据变量未定义,因为您的连接未与后端建立,您的Web浏览器说ERR_CONNECTION_REFUSED。您尚未在快速应用程序中添加CORS中间件,或者API中的网址不正确。