【发布时间】:2022-02-01 06:07:59
【问题描述】:
我有两个可重用的函数,我使用window.localStorage.getItem 方法。
const userByToken = () => {
const dispatch = useDispatch();
const token = window.localStorage.getItem("token");
const refreshToken = window.localStorage.getItem("refreshToken");
}
此函数使用window返回错误
但第二个功能
const useValidateToken = (setLoadingState: any) => {
const router = useRouter();
useEffect(() => {
const token = window.localStorage.getItem("token");
const refreshToken = window.localStorage.getItem("refreshToken");
})
}
不返回错误。
为什么没有useEffect 会出错?
【问题讨论】:
-
除了链接的分辨率 - 为什么很可能是因为服务器端 NextJS 只执行第一次渲染,所以
useEffects 没有被调用。但是你的第一个 sn-p 没有效果,所以它会在服务器端渲染期间尝试调用它
标签: node.js reactjs react-hooks next.js