Reactjs 材料-ui@next没有风格?

Reactjs 材料-ui@next没有风格?,reactjs,typescript,material-ui,Reactjs,Typescript,Material Ui,我想做一个关于材料的项目-ui@next,但我不想将与样式一起使用。但是,在草稿TypeScript中,装饰者@与样式不想共存。因此问题出现了,材料可以吗-ui@next使用而不使用with style?您可以使用材质UI而不使用with style() 如果尝试将类名添加到材质UI组件(假定该样式是像import./style.css那样导入的),则默认情况下,由于css注入顺序,该样式可能会被材质UI样式覆盖 如果您在浏览器的运行时查看应用程序HTML的,您可能会注意到您导入的任何自定义CS

我想做一个关于
材料的项目-ui@next
,但我不想将
与样式一起使用。但是,在草稿
TypeScript
中,装饰者
@与样式
不想共存。因此问题出现了,
材料可以吗-ui@next
使用而不使用
with style

您可以使用材质UI而不使用
with style()

如果尝试将类名添加到材质UI组件(假定该样式是像
import./style.css
那样导入的),则默认情况下,由于css注入顺序,该样式可能会被材质UI样式覆盖

如果您在浏览器的运行时查看应用程序HTML的
,您可能会注意到您导入的任何自定义CSS样式都可能出现在任何材质UI样式之前。当它们这样做时,后面定义的样式将优先并否定您的自定义样式

解决这个问题的一种方法是在
的底部添加一个类似
的HTML注释,以便JSS(由Material UI使用)知道在哪里正确插入
标记

这样,在入口点JavaScript文件中将应用程序组件封装在
JssProvider
中,如下所示:

<JssProvider jss={jss} generateClassName={generateClassName}>
  <YourAppGoesHere />
</JssProvider>

完成上述操作后,材质UI样式将首先出现,然后是自定义样式。这样,您的自定义样式将始终优先于材质UI样式。

您可以使用材质UI,而无需使用
with style()

如果尝试将类名添加到材质UI组件(假定该样式是像
import./style.css
那样导入的),则默认情况下,由于css注入顺序,该样式可能会被材质UI样式覆盖

如果您在浏览器的运行时查看应用程序HTML的
,您可能会注意到您导入的任何自定义CSS样式都可能出现在任何材质UI样式之前。当它们这样做时,后面定义的样式将优先并否定您的自定义样式

解决这个问题的一种方法是在
的底部添加一个类似
的HTML注释,以便JSS(由Material UI使用)知道在哪里正确插入
标记

这样,在入口点JavaScript文件中将应用程序组件封装在
JssProvider
中,如下所示:

<JssProvider jss={jss} generateClassName={generateClassName}>
  <YourAppGoesHere />
</JssProvider>

完成上述操作后,材质UI样式将首先出现,然后是自定义样式。这样,您的自定义样式将始终优先于材质UI样式。

对于使用Create React应用程序的用户,您将需要设置一个
noscript
对象而不是注释,因为CRA会删除public/index.html中的注释,并稍微修改jss插入点实现。对于使用Create React App的用户,您将需要设置一个
noscript
对象而不是注释,因为CRA会删除public/index.html注释,并稍微修改jss插入点实现。