微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Axios POST res.data 未定义

如何解决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 举报,一经查实,本站将立刻删除。