小编Nic*_*key的帖子

Material-ui覆盖反应情绪规则

在我的项目中,我使用Material-ui组件以及react-emotion.

让我举一个有问题的例子.我有这个元素:

<CardHeader title={stat} classes={{ root: statNumber }}/>
Run Code Online (Sandbox Code Playgroud)

哪里

const statNumber = css`padding: 0;`
Run Code Online (Sandbox Code Playgroud)

这样我就可以覆盖CardHeader的默认填充(16px)0,这是我的意图.

在开发模式下,一切都按预期工作,但在生产中,填充:0规则被默认填充16px覆盖.

发生这种情况的原因是在开发模式下,样式会动态添加到标题中.首先是Material-UI样式,然后是情感样式.像这样: 发展模式

但在制作中,风格却是相反的

生产模式

这就是在生产模式中覆盖样式的原因.

材料ui对此https://material-ui-next.com/customization/css-in-js/#css-injection-order提供了解释

但是随着解决方案的提出,我无法改变情感和材料的顺序 - ui风格是有序的.我只能改变材料ui并将其向下移动

任何人都知道如何解决这个问题?

emotion reactjs material-ui create-react-app

7
推荐指数
2
解决办法
1464
查看次数

在打字稿中使用 globalThis

我正在尝试在 Typescript 中使用 globalThis,我想就如何以更好的方式编写它提出一些建议。
目前的实现是这样的:

创建一个文件types/global.d.ts并在里面添加

interface Global {
   foo: string
}

declare let foo: Global["foo"];
Run Code Online (Sandbox Code Playgroud)

tsconfig.json添加

"files": [
  "types/global.d.ts"
]
Run Code Online (Sandbox Code Playgroud)

然后,以设定的值foo使用

(globalThis as any).foo = "The value of foo"
Run Code Online (Sandbox Code Playgroud)

我不喜欢这种方法首先是需要样板(但我认为这是无法避免的),其次是(globalThis as any).foo =表达式

typescript

6
推荐指数
4
解决办法
9907
查看次数