在React.js中进行提取调用

时间:2018-02-28 19:24:39

标签: javascript reactjs

这是我的第一个堆栈溢出帖子,所以我希望我解释得这么好。我在向api提取请求时遇到问题。它返回正确的数据。但是,我认为问题在于返回的promise是异步的,以及调用fetch的函数。 handleSubmitLogin是我的Login组件的回调函数。

handleSubmitLogin = (loginInformation) => {
    var userInfo = this.getUser(loginInformation);
    this.setState({loggedIn:true, currentUser:userInfo})
}    

getUser(loginInformation) {
fetch('http://localhost:3001/api/getUser', {
  body: JSON.stringify(loginInformation),
  cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
  credentials: 'same-origin', // include, *omit
  headers: {
    'content-type': 'application/json'
  },
  method: 'POST', // *GET, PUT, DELETE, etc.
  mode: 'no cors', // no-cors, *same-origin
})
.then( (res) => {
  var userInfo = res.json();
  console.log(userInfo)
  return userInfo
})

}

基本上,我知道它正在尝试使用userInfo来设置state,因为promise是挂起的。我尝试在.then中运行setState,但这导致React因某种原因刷新页面。

任何帮助将不胜感激,如果您需要查看更多代码,请告诉我们!谢谢!

0 个答案:

没有答案