发布于 2026-01-06 3 阅读
0

我喜欢使用 Chakra UI for React 的原因

我喜欢使用 Chakra UI for React 的原因

Chakra UI 是一个简单、模块化且易于使用的组件库,它为您提供了构建 React 应用程序所需的所有构建模块。

Chakra 绝对是我在 React 项目开发过程中体验过的最有趣的工具。用它构建 UI 既快速又简单。以下是我认为你应该在下一个项目中考虑使用 Chakra UI 的原因。

1. 易于定制主题

自定义 Chakra 并使其外观与设计师提供的模板完全一致非常简单。只需创建一个theme.js文件并传递一个 JSON 对象即可。

// example theme.js
import { theme } from "@chakra-ui/core";

// Let's say you want to add custom colors
const customTheme = {
  ...theme,
  colors: {
    ...theme.colors,
    brand: {
      900: "#1a365d",
      800: "#153e75",
      700: "#2a69ac",
    },
  },
};
Enter fullscreen mode Exit fullscreen mode

您还可以自定义字体和字号。

// example theme.js
export default {
  fonts: {
    heading: '"Avenir Next", sans-serif',
    body: "system-ui, sans-serif",
    mono: "Menlo, monospace",
  },
  fontSizes: {
    xs: "0.75rem",
    sm: "0.875rem",
    md: "1rem",
    lg: "1.125rem",
    xl: "1.25rem",
    "2xl": "1.5rem",
    "3xl": "1.875rem",
    "4xl": "2.25rem",
    "5xl": "3rem",
    "6xl": "4rem",
  },
};
Enter fullscreen mode Exit fullscreen mode

您还可以自定义断点。

// example theme.js
export default {
  breakpoints: ["30em", "48em", "62em", "80em"],
};
Enter fullscreen mode Exit fullscreen mode

请查看文档了解更多自定义选项

2. 内置深色模式

Chakra 的大多数组件都兼容深色模式。您可以使用useColorMode应用程序中的钩子来更改颜色模式。此值将被存储localStorage,并在每次页面加载时使用。

你只需要用一个提供程序包裹你的根组件即可。

import React from "react";
import { ThemeProvider, ColorModeProvider } from "@chakra-ui/core";
import customTheme from "./theme";

function TurnOnColorMode({ children }) {
  return (
    <ThemeProvider theme={customTheme}>
      <ColorModeProvider>{children}</ColorModeProvider>
    </ThemeProvider>
  );
}
Enter fullscreen mode Exit fullscreen mode

3. 响应式(移动优先)设计,无需繁琐的媒体查询,易于样式设置

Chakra UI 开箱即用,支持响应式样式。无需手动添加@media查询语句和嵌套样式,Chakra UI 允许您通过提供数组值来添加移动优先的响应式样式。

Chakra 以移动端优先,因此在移动设备上也能保持良好的性能。

<>
  <Box
    height="40px"
    bg="teal.400"
    width={[
      "100%", // base
      "50%", // 480px upwards
      "25%", // 768px upwards
      "15%", // 992px upwards
    ]}
  />
  {/* responsive font size */}
  <Box fontSize={["sm", "md", "lg", "xl"]}>Font Size</Box>
  {/* responsive margin */}
  <Box mt={[2, 4, 6, 8]} width="full" height="24px" bg="tomato" />
  {/* responsive padding */}
  <Box bg="papayawhip" p={[2, 4, 6, 8]}>
    Padding
  </Box>
</>
Enter fullscreen mode Exit fullscreen mode

这种响应式设计适用于主题规范中的每个样式属性。您可以在指定的断点处更改属性的样式。

Chakra UI 包含一系列布局组件,例如 `<div>`Box和 ` Stack<span>`,您可以通过传递 props 轻松地为组件设置样式。了解更多

4. 组件种类繁多,价格却很低

Chakra 包含 49 个组件和 3 个实用钩子。经过 mified 和 gzip 压缩后,总大小仅为 101.2kB。查看BundlePhobia上的完整报告。

5. 无障碍

Chakra UI 组件遵循 WAI-ARIA 指南规范,并具有正确的aria-*属性。

正在查找文档?

点击这里 => https://chakra-ui.com

文章来源:https://dev.to/burhanuday/reasons-why-i-love-using-chakra-ui-for-react-1e3i