NextJS在服务器端呈现部分代码。我可以处理。但我需要检查是否设置了cookie,在这里我遇到了问题。我试过:
第一个月
和document !== undefined && !!document.cookie
个
每次我都得到同样的错误:ReferenceError: document is not defined
个
我只想说明这一点,我不想只在客户端渲染组件。我唯一想检查的是document.cookie
是否定义:)
我感谢每一个能帮助我解决这个问题的答案
最新消息:
我接受了第一个答案,因为它是正确的。然而,我意识到我的方法是错误的,并通过明确检查文档的类型来解决它:typeof document !== 'undefined' && !!document.cookie
个
我想我还没有喝够咖啡,我错过了一些很明显的东西。
1条答案
按热度按时间anhgbhbe1#
Next.js使用预渲染,因此您应该将
document
的任何使用 Package 在useEffect
钩子中,因为document
在服务器上不可用。这样特定的代码只在客户端执行。https://nextjs.org/docs/migrating/from-create-react-app#safely-accessing-web-apis