我正在为用React写的公司休息室创建一个小型网站,并使用Gatsby将应用程序转换为静态内容。
我发现,当我刷新菜单所在的页面时,Material-UI中的Select元素会丢失其CSS。
页面上的所有内容都不会失去其样式,包括MenuItem
Material-UI中用于填充选项的Select组件中的组件。
我用styled-components
来自定义Select组件的大小/位置/感觉,并且尝试删除样式以查看是否是问题所在,但它没有影响行为。
如果1-我登录到该网站,然后2-导航到“菜单”页面,则CSS会正确呈现,但是如果刷新页面,它将破坏该Select
组件,导致其丢失CSS。
+另外,如果我直接浏览到该页面,它将破坏Select组件的CSS。
我还注意到Firefox中的一些错误,当刷新页面时,它说由于选择器错误而忽略了规则集。在下面的链接中可以看到错误。
选择组件样式:
const StyledSelect = styled(Select)`
width: 80%;
margin-right: 10%;
margin-left: 10%;
margin-top: 3%;
margin-bottom: 3%;`
选择render()中使用的组件:
<StyledSelect
multiple={props.isMultiple}
value={props.value}
name={props.name}
onChange={props.handleChange}
>
{props.items.map(item => (
<MenuItem key={item._id} value={item}>
{item.Name}
</MenuItem>
))}
</StyledSelect>
我希望即使刷新页面后CSS也会保持不变,但实际结果是刷新页面后Select组件会中断。
Gif问题:https : //imgur.com/a/GKL6D2t
Firefox CSS警告图片:https : //imgur.com/cATTdZR
您在使用SSR时遇到了问题,当您重新加载页面时,发生的事情是仅正确注入了样式,显然您所做的是安装material-ui并期望它能正常工作,您应该做的是注入了material-ui的样式,显然需要有一些配置react-jss
,最近material-ui
因为诸如此类的问题,每个人都抱怨他们提供关于如何解决这个问题的例子,并且其中的一个例子是盖茨比项目https://github.com/mui-org/material-ui / tree / master / examples / gatsby,如果您没有时间,可以安装gatsby插件https://www.gatsbyjs.org/packages/gatsby-plugin-material-ui/,而您将没有这个问题再次出现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句