为什么我们对 Material UI 有多个颜色声明?

Why do we have multiple color declarations for Material UI?

调色板主题更新不应该也影响应用程序上的其他元素,例如按钮吗?

如果我们这样写:

import blue from '@material-ui/core/colors/blue';

const theme = createTheme({
  palette: {
    primary: blue,
  },
})

按钮组件不会更改为创建的原色。另外,如果我创建一个框并提供以下内容:

<Box color='primary.main'>primary.main</Box>

它不会改变文本的颜色,除非我执行以下操作

<Box color='palette.primary.main'>primary.main</Box>

背后有后勤保障吗?我假设它与在进入不同色调或黑暗时自动改变颜色有关,但我不是 100% 确定。

您必须访问主 属性 才能更改它:

import blue from '@material-ui/core/colors/blue';

const theme = createTheme({
  palette: {
    primary: {
      main : blue,
    }
  },
})