如何覆盖主题中的材质 ui 阴影

Dra*_*era 4 reactjs material-ui

import {
  createMuiTheme, responsiveFontSizes,
} from "@material-ui/core/styles";

let theme = createMuiTheme({
  palette: {
    primary: {
      main: "#000",
    },
    secondary: {
      main: "#ccc",
    },
  },
  typography: {
    fontFamily: "Roboto",
  },
  shadows: [
    "none",
    "0px 15px 60px rgba(0, 0, 0, 0.25)",
    "0px 35px 60px rgba(0, 0, 0, 0.25)",
    "20px 55px 60px rgba(0, 0, 0, 0.25)",
    "10px 15px 60px rgba(0, 0, 0, 0.25)",
  ],
});

theme = responsiveFontSizes(theme);

export default theme;
Run Code Online (Sandbox Code Playgroud)

控制台中有一条警告:警告:失败的道具类型:Material-UI:此高度4未在组件中实现。既然它是一个包含 25 个元素的数组,应该怎么做呢?

Raj*_*jiv 7

Shadows 需要所有 25 个盒子阴影,因为material-ui 默认情况下在组件内部使用其中许多阴影。因此,方法是提供所需的阴影,然后完成其余的操作,以完成25数组 pass 内的框阴影none

shadows: [
    "none",
    "0px 15px 60px rgba(0, 0, 0, 0.25)",
    "0px 35px 60px rgba(0, 0, 0, 0.25)",
    "20px 55px 60px rgba(0, 0, 0, 0.25)",
    "10px 15px 60px rgba(0, 0, 0, 0.25)",
    ...Array(20).fill('none')
  ]
Run Code Online (Sandbox Code Playgroud)

这里提供了 5 个阴影,其余 20 个为noneArray(20).fill('none')将生成一个包含 20 个元素的数组(本例中没有),然后将该数组散布到shadows 数组中。它将对数组内最多 25 个元素进行求和。