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