【发布时间】:2022-01-26 21:25:35
【问题描述】:
我有一个服务,它返回“res”中的记录数组。在我的 REACT 组件中效果很好。我需要在函数中检索相同的数据,但我认为我的语法是错误的,因为我没有得到任何数据。
这是服务的代码: ...
import axios from 'axios';
import * as myConstants from '../Services/User_API_Base_URL'
class UserService {
getUsers(){
return axios.get(myConstants.USER_API_BASE_URL + "users");
}
}
export default new UserService()
...
下面是 Component 中运行良好的代码: ...
componentDidMount= async (event)=>{
UserService.getUsers().then((res) => {
this.setState({ users: res.data});
});
}
...
这是函数中的代码,它似乎没有将任何内容放入“datau” ...
const [datau, setDatau] = useState([]);
useEffect(() => {
const doFetchuser = async () => {
setDatau(UserService.getUsers())
};
doFetchuser();
}, []);
...
任何帮助使其工作的帮助将不胜感激。我刚刚开始熟悉 Functions\Hooks 等。
罗伯
【问题讨论】:
-
异步但没有等待?
-
await UserService.getUser()? -
这是一个异步/等待的示例,用于调用 API stackoverflow.com/questions/53332321/…的 useEffect
-
没有变化。 @Subrato Pattanaik
-
Bravo ...两种方法都有效! @jsN00b
标签: arrays reactjs fetch use-effect