如何解决Axios POST res.data 未定义
我有一个调用 axios.post
的函数,这个函数将对象返回给主反应应用程序,然后主反应应用程序应该保存它/在屏幕上显示它。
“postData”函数的返回(在 API 中)如下所示:
return axios.post(url,object).then((res) => res.data);
在主要的反应应用程序中,我有:
async postData (file1,file2,algorithm) {
this.setState({
anomalies: await api.postData(file1,algorithm)
},() => { console.log(this.state.anomalies); }
)
}
当我 console.log
异常(如在代码中)时,我得到未定义。
另外,我有一个 div:
<div> {this.state.anomalies} <div/>
如果我这样做:
axios.post(url,object).then((res) => console.log(res.data);
我打印了正确的对象。那么我怎样才能以正确的方式将这个对象传递给 React 应用程序呢?
谢谢!
解决方法
App.js 文件
import React from "react";
import API from "./API";
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = { anomalies: null };
}
post = async () => {
this.setState(
{
anomalies: await API.postData()
},() => {
console.log(this.state.anomalies);
}
);
};
render() {
return (
<div>
<button onClick={this.post}> click</button>
</div>
);
}
}
API.js 文件
import axios from 'axios'
function postData () {
return axios.get("https://jsonplaceholder.typicode.com/todos/1").then( res => res.data)
}
export default {
postData
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。