Reactjs 如何在React中的userDetails数据之后调用Api

Reactjs 如何在React中的userDetails数据之后调用Api,reactjs,api,react-native,react-redux,Reactjs,Api,React Native,React Redux,我有一个问题,在获得用户详细信息后如何调用API。 所以我有一个API,当用户重新加载页面时调用它的CallUserDetails API,我们可以从db中获取数据 所以,一旦从数据库中获取数据,我就需要根据userDetails调用其他API。 但是从auth.js调用userDetails api,如果userDetails调用其他api,我必须检查视图中的几个页面 获取用户详细信息后,是否有机会访问所有其他API 我尝试了许多解决方案,但都不起作用 我尝试将async和Wait放入comp

我有一个问题,在获得用户详细信息后如何调用API。 所以我有一个API,当用户重新加载页面时调用它的CallUserDetails API,我们可以从db中获取数据

所以,一旦从数据库中获取数据,我就需要根据userDetails调用其他API。 但是从auth.js调用userDetails api,如果userDetails调用其他api,我必须检查视图中的几个页面

获取用户详细信息后,是否有机会访问所有其他API

我尝试了许多解决方案,但都不起作用

我尝试将async和Wait放入componentdidmount中,但同样的问题也出现在错误userDetails null中

我加了这样的东西,

async componentDidMount(){if(this.props.userDetails!==null){…其他API..}

}

但这对我不起作用


谢谢

检查componentDidUpdate中的userDetails道具是否已更改。因此,您不会每次组件更新时都调用api

componentDidUpdate(prevState,prevProps){if(this.props.userDetails!==prevProps.userDetails){…其他API..}
}

请在你的app.js中尝试以下代码

import React from 'react';
import './main.css';
import Modal from './components/Modal/modal';

class App extends React.Component {
  state = {
    showModal1: false,
    showModal2: false
  };

  showModal = x => {
    this.setState({
      [x]: !this.state[x]
    });
  };

  render() {
    return (
      <div>
        <div className="button-container">
          <button className="toggle-button" onClick={x => {
            this.showModal(showModal1);
          }}>Show yourself Modal 1!</button>
        </div>
         <div className="button-container">
          <button className="toggle-button" onClick={x => {
            this.showModal(showModal2);
          }}>Show yourself Modal 2!</button>
        </div>
        <Modal onClose={this.showModal} show={this.state.show1} title="Test modal 1" id="1">Lorem ipsum</Modal>
        <Modal onClose={this.showModal} show={this.state.show2} title="Test modal 2" id="2">I am a different modal</Modal>
      </div>
    );
  }
}

export default App;

从“React”导入React;
导入“/main.css”;
从“./components/Modal/Modal”导入模态;
类应用程序扩展了React.Component{
状态={
showModal1:false,
showModal2:错误
};
showModal=x=>{
这是我的国家({
[x] :!this.state[x]
});
};
render(){
返回(
{
这是showModal(showModal1);
}}>展示你自己模态1!
{
这是showModal(showModal2);
}}>展示你自己模态2!
乱数假文
我是另一个模态
);
}
}
导出默认应用程序;

一种解决方案是让userDetails API返回一个承诺,然后在承诺得到解决时调用其他API。您能为问题添加相关代码吗?