Reactjs (Material UI/Next.js)停止服务器端渲染的useStyles
我目前正在处理应用程序中的一个页面,该页面需要访问样式设置中的窗口对象 我理解,对于不应仅使用Reactjs (Material UI/Next.js)停止服务器端渲染的useStyles,reactjs,material-ui,next.js,Reactjs,Material Ui,Next.js,我目前正在处理应用程序中的一个页面,该页面需要访问样式设置中的窗口对象 我理解,对于不应仅使用在服务器上呈现的组件,它可以做到这一点。但是,当从useStyles访问窗口时,会在render()函数之前调用它。这意味着只要点击classes=useStyles()就会出现错误:ReferenceError:window未定义就会持续出现 你知道如何阻止useStyles调用在服务器上渲染吗 谢谢 (回答我自己) 找到了一个在此上下文中有效的解决方案: 在应该可以访问全局窗口对象的组件周围使用 在
在服务器上呈现的组件,它可以做到这一点。但是,当从useStyles访问窗口时,会在render()
函数之前调用它。这意味着只要点击classes=useStyles()
就会出现错误:ReferenceError:window未定义
就会持续出现
你知道如何阻止useStyles调用在服务器上渲染吗
谢谢 (回答我自己)
找到了一个在此上下文中有效的解决方案:
style={{}
,而不是使用useStyles()
和className
的全局样式const-Theme=useTheme()
importend from@material ui/styles