Reactjs 如何访问盖茨比主题材料ui顶部布局中的{窗口,位置}
如何访问盖茨比主题材料ui top layout/components/top layout中的{window,location} 我必须使用盖茨比插件布局吗Reactjs 如何访问盖茨比主题材料ui顶部布局中的{窗口,位置},reactjs,gatsby,Reactjs,Gatsby,如何访问盖茨比主题材料ui top layout/components/top layout中的{window,location} 我必须使用盖茨比插件布局吗 我可以同时使用盖茨比插件布局和盖茨比主题材料界面吗?你不需要额外的插件来实现这一点。您有很多选择来实现这一点,但是如果没有提供任何代码,很难猜测哪一个适合您的需求或规范。您可以随时访问窗口对象,请记住您的代码可能会在build命令上抛出错误,因此: 将代码放在组件didmount生命周期或useffect钩子中,确保代码不会运行,除非它
我可以同时使用盖茨比插件布局和盖茨比主题材料界面吗?你不需要额外的插件来实现这一点。您有很多选择来实现这一点,但是如果没有提供任何代码,很难猜测哪一个适合您的需求或规范。您可以随时访问
窗口
对象,请记住您的代码可能会在build
命令上抛出错误,因此:
- 将代码放在
生命周期或组件didmount
钩子中,确保代码不会运行,除非它在浏览器中,在浏览器中将定义useffect
窗口
- 在执行语句之前使用条件:
if(窗口类型!=“未定义”){ //你的代码在这里 }
- 另一种选择是,您的代码使用第三方模块/库,该模块/库需要在之前定义
,因此,当盖茨比构建(编译并捆绑)您的所有资产时,您的代码可能会由于库的需要和窗口
对象当时的未定义而抛出错误,在这种情况下,您需要将网页加载程序更改为窗口
。在您的null
中:gatsby node.js
exports.onCreateWebpackConfig=({stage,loaders,actions})=>{ 如果(阶段==“构建html”){ actions.setWebpackConfig({ 模块:{ 规则:[ { 测试:/bad模块/, 用法:loaders.null(), }, ], }, }) } }