Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在reactjs中处理多个ajax调用_Javascript_Reactjs_Dom_Axios - Fatal编程技术网

Javascript 在reactjs中处理多个ajax调用

Javascript 在reactjs中处理多个ajax调用,javascript,reactjs,dom,axios,Javascript,Reactjs,Dom,Axios,我的react组件中有以下代码 componentDidMount() { getOrganizationsForUserTemp().then((organizations) => { this.setState({ userOrganizations: organizations, }); }); getUsersOfOrganizationTemp().then((users) => {

我的react组件中有以下代码

componentDidMount() {
    getOrganizationsForUserTemp().then((organizations) => {
        this.setState({
            userOrganizations: organizations,
        });
    });

    getUsersOfOrganizationTemp().then((users) => {
        this.setState({
            userOrganizations: users,
        });
    })
}
上面的代码启动两个ajax调用,当检索到响应时,它会更新组件的状态,从而重新呈现组件

我的问题是,当收到第一个响应时,组件呈现得非常完美,然后当第二个响应出现时,先前呈现的组件从DOM中消失。我猜当第二个响应更新状态时,没有对前一个响应状态的引用


我如何管理多个ajax调用,以便在一个组件中有多个ajax调用?我做错了什么

由于您将两个ajax调用的响应存储到相同的
状态
变量中,因此您面临这个问题

你需要像这样做

componentDidMount() {
    getOrganizationsForUserTemp().then((organizations) => {
        this.setState({
            userOrganizations: organizations,
        });
    });

    getUsersOfOrganizationTemp().then((users) => {
        this.setState({
            users: users,
        });
    })
}

组织
用户
存储在单独的状态变量中。

由于您将两个ajax调用的响应存储到相同的
状态
变量中,因此您面临此问题。在第一次调用中,您正在更新
用户组织:组织
,在第二次调用中,您正在更新
用户组织
用户
?这对我来说没有意义。您可能应该有另一个状态变量来保存
用户
数据,并使用它来呈现HTML。