Reactjs 在函数内部返回response.data,然后回调| Axios

Reactjs 在函数内部返回response.data,然后回调| Axios,reactjs,redux,axios,Reactjs,Redux,Axios,是否可以在回调函数中返回一个函数,然后返回回调函数 我想这样做: axios.post('url_api/endpoint') .then(function(response){ renderAdmissionReponse(){ <div>Success response.data</div> } }) <div className="row spacer"> {this.renderAdmissionRep

是否可以在
回调函数中返回一个函数,然后返回
回调函数

我想这样做:

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

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

  })
<div className="row spacer">
 {this.renderAdmissionReponse()}
</div>
axios.post('url\u api/endpoint')
.然后(功能(响应){
RenderAdministrationResponse(){
成功响应.数据
}
})
要在以后的组件中渲染它,请执行以下操作:


{this.renderAdministrationResponse()}

有可能吗?

我可以理解您的需求,但是,您上面的代码是错误的

您需要的是:使用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>
    );
}
构造函数(道具){
// ...
此.state=({
接纳回应:[],
//你的其他状态变量在这里
})
}
RenderAdministrationResponse=(数据)=>{
这是我的国家({
接纳回应:数据,
});
}
//…您可以将其放入'ComponentDidMount()`,然后调用函数以使用返回的数据设置状态
post('url\u api/endpoint')
。然后((响应)=>{
这个.renderDemissionResponse(response.data);
})
// ...
render(){
返回(
{this.state.admissionResponse.authorizationId}
{this.state.admissionResponse.authorizationNum}
{this.state.admissionResponse.lineItems.map((行)=>{
返回(
{line.id}
{line.lineItemNumber}
)
})}  
);
}

还请检查您的响应。数据结构,然后检索正确的密钥,上面的代码我只是试图解释关于如何异步加载数据并在之后在页面上呈现的正确反应方式。请在这里发布一些错误,如果有,谢谢。

我可以理解您的需要,但是,您上面的代码是错误的

您需要的是:使用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>
    );
}
构造函数(道具){
// ...
此.state=({
接纳回应:[],
//你的其他状态变量在这里
})
}
RenderAdministrationResponse=(数据)=>{
这是我的国家({
接纳回应:数据,
});
}
//…您可以将其放入'ComponentDidMount()`,然后调用函数以使用返回的数据设置状态
post('url\u api/endpoint')
。然后((响应)=>{
这个.renderDemissionResponse(response.data);
})
// ...
render(){
返回(
{this.state.admissionResponse.authorizationId}
{this.state.admissionResponse.authorizationNum}
{this.state.admissionResponse.lineItems.map((行)=>{
返回(
{line.id}
{line.lineItemNumber}
)
})}  
);
}

还请检查您的响应。数据结构然后检索正确的键,上面的代码我只是试图解释一下correct react如何异步加载数据并在之后的页面上进行渲染。请在这里发布一些错误(如果有),谢谢。

否。由于它是react,您可以在外部渲染中调用该函数,然后
调用
w我将更新最终更新UIOk的
状态
,基本上如下:
axios.post('url\u api/endpoint')。然后(函数(response){this.setState({admissionResponse:response.data})
是的,您需要什么
admissionResponse
格式?它是一个JSON格式它是一个对象内容:为了呈现它,我这样做:
const-admissionResponseJSON=JSON.stringify(this.state.admissionResponse,null,2)
否。由于它的react,您可以在外部渲染中调用该函数,
然后
将更新最终更新UIOk的
状态
,基本上是这样的:
axios.post('url\u api/endpoint')。然后(函数(响应){this.setState({admissionResponse:response.data})})
是的,您需要什么
admissionResponse
格式?它是一个JSON格式它是一个对象内容:为了呈现它,我这样做:
const-admissionResponseJSON=JSON.stringify(this.state.admissionResponse,null,2)
很高兴您能让它工作^^!请随时为react的进一步问题与我联系,谢谢!非常感谢!我很高兴您能让它工作^^!请为react的进一步问题与我联系,谢谢!非常感谢!我会的