已提取数据以说明状态

时间:2019-11-06 14:05:07

标签: javascript reactjs axios

UserAPI.js 这就是我导出到 Admin.js

的内容
     export const getAllEmailsFromConfirmedUsers = () => { Axios.get('http://localhost:8080/users/confirmedusers')
     .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });
  }

Admin.js - 我如何导入API调用。

import {getAllEmailsFromConfirmedUsers} from '../../shared/api/UserAPI'

Admin.js -然后,我使用useEffect()

中的函数
  useEffect(() => {
    getAllEmailsFromConfirmedUsers();
  });

这是我的 Admin.js 文件中的状态。

  const [myState, setMyState] = useState([]);

这工作正常,我从获取的API调用中获取了一个值数组,但遇到了
我的问题:如何将获取的数组设置为我的状态( setMyState )从外部文件导入Axios函数时?

3 个答案:

答案 0 :(得分:2)

在您的UserAPI中执行以下操作:

export const getAllEmailsFromConfirmedUsers = () => { 
 return Axios.get('http://localhost:8080/users/confirmedusers')
  }

然后在您的管理员中:

useEffect(() => {
 getAllEmailsFromConfirmedUsers().then({
//Do Your update here

 }).catch(error=>{
  })

});

答案 1 :(得分:0)

您正在获取数据,但未在任何地方返回数据。摆脱控制台日志,并在您的API调用中添加.psobject.ToString([cultureinfo]::InvariantCulture)

return response

接下来,您将在useEffect中进行异步调用,以便您可以通过这种方式构造函数。这会将您的响应存储在变量中,并且您可以设置状态

   export const getAllEmailsFromConfirmedUsers = () => { Axios.get('http://localhost:8080/users/confirmedusers')
     .then(response => response)
     .catch(err => err);
  }

答案 2 :(得分:0)

您可以给您的api调用函数提供回调

Error: Returned values aren't valid, did it run Out of Gas?

以及您的组件中

export const getAllEmailsFromConfirmedUsers = (saveData) => { 
 Axios.get('http://localhost:8080/users/confirmedusers')
     .then(function (response) {
      if(response){
        saveData(response)
      }
    })
    .catch(function (error) {
      console.log(error);
    });
  }