为什么在某些情况下无法定义res?

时间:2020-04-05 19:45:47

标签: node.js reactjs axios

我正在研究ReactJS项目,并且正在使用Axios通过express和MongoDB数据库连接到我的NodeJS后端。

我的渲染函数中有一个按钮,单击该按钮时会调用以下函数:

getInfo() {
   Axios.get('http://localhost:9000/getMyData')
      .then(res => console.log(res));
}

这工作正常,它可以连接,查询我的数据库,并且可以在控制台中看到结果。 但 如果尝试使用此结果设置状态,则该状态未定义。 例如:

getInfo() {
   Axios.get('http://localhost:9000/getMyData')
      .then(res => this.setState({data: res})); // or res.data based on the way I want to save it
}

我得到的是304个响应而不是200个响应,React说res未定义。

我不明白这里发生了什么,为什么我可以控制台记录响应,但不能存储响应。 有人可以向我解释我做错了什么以及如何存储数据吗?

谢谢。

0 个答案:

没有答案