Typecsript和NextJS如何检查“document”是否存在

gstyhher  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(114)

NextJS在服务器端呈现部分代码。我可以处理。但我需要检查是否设置了cookie,在这里我遇到了问题。我试过:
第一个月

document !== undefined && !!document.cookie
每次我都得到同样的错误:
ReferenceError: document is not defined
我只想说明这一点,我不想只在客户端渲染组件。我唯一想检查的是document.cookie是否定义:)
我感谢每一个能帮助我解决这个问题的答案
最新消息:
我接受了第一个答案,因为它是正确的。然而,我意识到我的方法是错误的,并通过明确检查文档的类型来解决它:
typeof document !== 'undefined' && !!document.cookie
我想我还没有喝够咖啡,我错过了一些很明显的东西。

anhgbhbe

anhgbhbe1#

Next.js使用预渲染,因此您应该将document的任何使用 Package 在useEffect钩子中,因为document在服务器上不可用。这样特定的代码只在客户端执行。
https://nextjs.org/docs/migrating/from-create-react-app#safely-accessing-web-apis

相关问题