使用react-leaflet节点模块时,出现窗口未定义的错误,因为它依赖于窗口,并且SSR当然不支持窗口。我发现了next / dynamic,但是,我发现的所有示例都显示了如何导入组件而不是节点模块。是否可以包含节点模块?作为示例,这就是我正在导入的内容,该错误给出了窗口未定义的错误import { Map, TileLayer, Marker } from 'react-leaflet';
使用react-leaflet节点模块时,出现窗口未定义的错误,因为它依赖于窗口,并且SSR当然不支持窗口。我发现了next / dynamic,但是,我发现的所有示例都显示了如何导入组件而不是节点模块。是否可以包含节点模块?作为示例,这就是我正在导入的内容,该错误给出了窗口未定义的错误import { Map, TileLayer, Marker } from 'react-leaflet';
当您在组件上调用该依赖项的组件(Map,TileLayer,Marker)时,就会发生该错误。
当您的应用程序在服务器端呈现时,出现未定义的窗口,因为窗口对象属于浏览器。
为了避免
window of undefined
在服务器端出现错误,可以process.browser
在组件中使用。参考:https : //github.com/zeit/next.js/issues/2473?# issuecomment- 362119102