繁体   English   中英

Stripe + NextJs - 窗口未定义

[英]Stripe + NextJs - window is not defined

我正在尝试在 NextJs https://github.com/stripe/react-stripe-elements/blob/master/README.md#server-side-rendering-ssr 中使用条纹

我不断收到错误“窗口未定义”。 我错过了什么吗? 代码在上面的链接中。

由于您的代码在server-side呈现并且无法访问全局窗口对象,因此显示"window is not defined" ,因为这是只有客户端才能理解的内容。 将您的代码移动到lifecycle methods因为它们仅在client-side运行。

另一种选择是对 Stripe 组件使用动态导入并禁用 SSR。

StripeForm 组件文件(默认导出)
component/StripeForm.tsx

像这样在pages/stripe动态导入它

const StripeForm = dynamic(() => import("../components/StripeForm"), { ssr: false } )

return (
   ...
   <StripeForm />
   ...
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM