【发布时间】:2021-05-05 03:48:56
【问题描述】:
如何确保我的 contextprovider 仅在客户端运行。
我在_app.tsx 中使用了两个提供程序,即 ChakraProvider(用于 chakra-ui)和 SocketProvider(用于 websocket)。
export default function MyApp({ Component, pageProps }: AppProps) {
return (
<ChakraProvider>
<SocketProvider wsUrl={'ws://localhost:4000/socket'}>
<Component {...pageProps} />
</SocketProvider>
</ChakraProvider>
);
}
当我尝试访问该页面时,它说:
Server Error
TypeError: Cannot read property 'WebSocket' of undefined
但是当我在客户端尝试它时,SocketProvider 工作正常并且没有抛出任何错误。
【问题讨论】: