Material ui 升级到v4后,自定义样式被破坏

Material ui 升级到v4后,自定义样式被破坏,material-ui,Material Ui,从v3更新到v4.8.3后,无法自定义组件。我的目标是覆盖选择组件以获得文本颜色“红色” const styles = theme => ({ temp: { fontSize: 12, color: "red" }) 。。。 但MuiInputBase输入类始终处于顶部。 我看到html头导入加载的样式存在差异,我当前的版本(v4)是: 我看到导入增加了一倍,并覆盖了我的自定义样式。 在v3上,所有mui样式导入都放在列表顶部,而不是与自定义样式混合。我找不到更多的信息,以获得

从v3更新到v4.8.3后,无法自定义组件。我的目标是覆盖选择组件以获得文本颜色“红色”

const styles = theme => ({ temp: { fontSize: 12, color: "red" })

。。。
但MuiInputBase输入类始终处于顶部。

我看到html头导入加载的样式存在差异,我当前的版本(v4)是:

我看到导入增加了一倍,并覆盖了我的自定义样式。 在v3上,所有mui样式导入都放在列表顶部,而不是与自定义样式混合。我找不到更多的信息,以获得解决方案和加倍进口的原因。哪里可能出现错误

编辑:

我必须提供更多的细节

更新大型遗留项目后出现问题。为了解决我的问题,我剪切了大部分代码并在上面创建了演示。
不幸的是,它在codesandbox上工作得很好,不要让别人看到问题。如果我下载zip并启动它-我有我的问题。在两台机器Ubuntu18.04和MacOS上试过,都有这个问题——红色不适用于second select。如果对某人有帮助的话,更多的细节在后面。下面的解决方案中的原因

我为您创建了沙盒,您可以在其中看到被覆盖的菜单项


代码沙盒:

我已经为您创建了沙盒,您可以在其中看到被覆盖的菜单项


代码沙盒:

原因是嵌套组件具有错误的导入语句。由于某些原因,v3中“正常”工作的错误导入:

import InputBase from "@material-ui/core/InputBase/InputBase";
必须是:

import InputBase from "@material-ui/core/InputBase";

因此,基本样式覆盖了我的样式,原因是嵌套组件的导入语句错误。由于某些原因,v3中“正常”工作的错误导入:

import InputBase from "@material-ui/core/InputBase/InputBase";
必须是:

import InputBase from "@material-ui/core/InputBase";

因此,我的样式被基本样式覆盖

您是否在控制台中收到关于拥有多个
@material ui/styles
副本的警告?不,没有类似的警告。但在父组件的末尾,有一个组件:。如果我放弃这个,双重导入将被清除,自定义样式也可以工作。你能在一个代码沙盒中重现这个行为吗?下面是代码沙盒中重现的问题:工作正常的演示。但下载的zip有问题。在两台机器上,ubuntu 18.04和MacOS都有这个问题-颜色不适用于第二选择您是否在控制台中收到关于拥有多个
@material ui/styles
副本的警告?不,没有类似的情况。但在父组件的末尾,有一个组件:。如果我放弃这个,双重导入将被清除,自定义样式也可以工作。你能在一个代码沙盒中重现这个行为吗?下面是代码沙盒中重现的问题:工作正常的演示。但下载的zip有问题。在两台机器Ubuntu18.04和MacOS上,都有一个问题——颜色不适用于second selectI刚刚创建的演示,在codesandbox中工作正常。但当我将拉链下载到我的机器上并启动时,第二个选择“不要变红”。我的机器似乎有问题,比如npm缓存损坏之类的…刚刚在两台机器Ubuntu18.04和MacOS上测试了下载的zip,两台机器都有这个问题-颜色不适用于second selectI我刚刚创建了演示,在codesandbox中工作正常。但当我将拉链下载到我的机器上并启动时,第二个选择“不要变红”。我的机器似乎有问题,比如npm缓存损坏之类的…刚刚在两台机器Ubuntu18.04和MacOS上测试了下载的zip,两台机器都有问题-颜色不适用于第二选择