配置文件/视图.js
const ViewProfile = () => {
const router = useRouter();
//Working as expected
const user = useUserData();
console.log(user);
//unable to fetch this
const data = user.profile;
console.log(data);
//Rest of the code
}
这是我的ViewProfile组件.每当我通过useUserData钩子获取用户数据时,我都可以毫无问题地记录User对象.但是,只要我try 访问User.Profile对象,就会收到错误Cannot read properties of null (reading 'profile')
.
使用UserData.js
import Cookies from "js-cookie";
import { useEffect, useState } from "react";
const useUserData = () => {
const userToken = Cookies.get("sessionToken");
const [userData, setUserData] = useState(null);
useEffect(() => {
async function fetchData() {
try {
const res = await fetch(`${process.env.NEXT_PUBLIC_SERVER_URI}/user/profile`,{
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${userToken}`,
},
});
const data = await res.json();
if (res.ok) {
setUserData(data);
}
} catch (err) {
console.error(err);
}
}
if (userToken) {
fetchData();
}
}, [userToken]);
return userData;
};
export default useUserData;
当我记录用户对象时,配置文件对象也存在.我一记录配置文件对象,问题就出现了.
我已经判断了API,它工作正常.我认为我的useEffect
实现有一些问题.
如有任何帮助,我们不胜感激.