为什么会出现 ReferenceError: RTCPeerConnection is not defined in Next.js?

IT技术 reactjs next.js webapi
2021-05-21 22:42:30

我正在尝试,const pc = new RTCPeerConnection()而我得到ReferenceError: RTCPeerConnection is not defined. 我怎样才能克服这个错误?

这不是我的浏览器,我可以webRTC在它们本机上运行

1个回答

Next.js在服务器上预渲染每个页面当页面被预渲染时尝试使用 Web API 会引发与您所看到的类似的错误,因为这些 Web API 不存在于 Node.js 环境中。

要解决它,请确保您new RTCPeerConnection()在组件内调用useEffect以便仅在客户端调用它。

useEffect(() => {
    const pc = new RTCPeerConnection()
    // Rest of your logic here
}, [])