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函数时?
答案 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);
});
}