这个React和Axios是否承诺使用正确?

时间:2018-01-28 12:27:39

标签: reactjs promise axios

我正在使用void MainWidget::startRequest () { Request *req = new Request; req->Connector(); } 作为React项目,我想知道在这种情况下axios承诺的使用是否正确。
基本上,我使用then在组件呈现时从数据库中获取数据。

axios

我观察到的是组件的状态被设置两次,一次是在渲染发生时,class Participants extends React.Component{ constructor(props){ super(props); this.state = { databaseUsers: [], } this.getUsers = this.getUsers.bind(this); } getUsers(){ var users = axios.get('/users/get-users').then((response) => { this.setState({databaseUsers: response.data}); }); } componentWillMount(){ this.getUsers(); } render(){ console.log(this.state.databaseUsers); return(** html tree **); } } 承诺触发,第二次是从承诺完成从数据库中获取数据和集合then 如何更好地控制这个?就像实际上等待数据库上的数据一样,然后渲染?
欢迎任何提示。

1 个答案:

答案 0 :(得分:1)

还有其他方法可以实现您对多个组件所做的操作。 但是让我们坚持这个例子。

渲染两次没有错,因为你不想等待响应然后显示输出。

您可以拥有$scope.connector_form = "test; 标记,以便显示“加载”代码,并在加载时显示输出。

或者您可以拥有1个管理工作的父组件:

loading
相关问题