MUI中styled的import方式你用对了么?

57 阅读1分钟

在 Material-UI 中,styled 可以通过两种方式导入:

import { styled } from '@mui/material/styles'; 
import { styled } from '@mui/material'; 

上面两种引入 styled import 方式,看着是不是很熟悉?

哪种是正确的?

  • import { styled } from '@mui/material/styles'; 是更常见且推荐的方式。

区别:

  1. import { styled } from '@mui/material/styles';

    • 这是官方推荐的标准方式。
    • @mui/material/styles 中的 styled 是与 Material-UI 主题和样式系统结合得更紧密的版本,它支持主题(theme)的传递、全局样式的处理、CSS 规则等。
    • 使用这个版本时,你可以充分利用 Material-UI 样式主题(例如,theme.palettetheme.spacing)等特性。
  2. import { styled } from '@mui/material';

    • @mui/material 导入 styled 是一种较新的方式,它将 styled@mui/material/styles 移到了 @mui/material 包中。
    • 在新版本中,它依然可以工作,但是它是为了兼容不同的 Material-UI 用户需求而存在的。如果你直接使用 @mui/material 来导入,样式和主题相关的功能可能会有所减少,或者需要额外的配置来正确使用 styled

总结

  • 首选import { styled } from '@mui/material/styles';。它适用于大多数需要使用主题、样式和 CSS 规则的场景。
  • import { styled } from '@mui/material'; 是兼容性支持方式,通常没有 @mui/material/styles 中的高级功能。