Return response.data in function inside .then callback |公理

Return response.data in function inside .then callback | Axios

是否可以在 .then 回调中 return 一个函数?

我想做这样的事情:

axios.post('url_api/endpoint')
  .then(function(response){

     renderAdmissionReponse(){
       <div>Success response.data</div>
     }

  })

稍后在这样的组件中呈现它:“

<div className="row spacer">
 {this.renderAdmissionReponse()}
</div>

可以吗?

其实我能理解你的需求,但是你上面的代码是错误的!

你想要的是:使用axios加载数据成功后,数据会在页面上正常渲染。如果是这样,您可以使用以下方式:

constructor(props) {
    // ...
    this.state = ({
        admissionResponse: [],
        // your other state variables here
    })
}

renderAdmissionReponse = (data) => {
    this.setState({
        admissionResponse: data,
    });
}

// ... You can put this inside `ComponentDidMount()`, then just call the function to setState with returned data
axios.post('url_api/endpoint')
    .then((response) => {

        this.renderAdmissionReponse(response.data);

    })
// ...

render() {
    return (
        <div className="row spacer">
            <div>{this.state.admissionResponse.authorizationId}</div>
            <div>{this.state.admissionResponse.authorizationNum}</div>
            {this.state.admissionResponse.lineItems.map((line) =>{
              return(
                <div>{line.id}</div>
                <div>{line.lineItemNumber}</div>
              )
            })}  
        </div>
    );
}

请同时检查您的 response.data 结构然后检索正确的键,上面的代码我只是试图解释正确的反应方式,即如何异步加载数据并在之后在页面上呈现。如有错误请post这里,谢谢