【发布时间】:2021-12-07 08:18:01
【问题描述】:
我正在尝试使用 Axios 和 React 获取一些数据,但我在解决承诺并将其设置为状态时遇到问题,这很奇怪。
这是基地:
export const fetchUserById = (username) => client.get(`/${username}`);
这是电话:
export const getUserById = async (username) => {
try {
const response = await api.fetchUserById(username);
const data = await response.data;
return data;
} catch (error) {
return error;
}
};
这是在 React 中:
const [user, setUser] = useState();
useEffect(() => {
const data = getUserById(params.username); // this gets the username and its working
setUser(data)
}, [])
useEffect(() => {
console.log("this is user: ", user)
}, [user])
如果我控制台日志用户,我得到未定义,如果我控制台日志数据,我得到一个承诺。
【问题讨论】: