首页 > 其他分享 >WEB:使用 Semi Design 构建 React 的技术指南

WEB:使用 Semi Design 构建 React 的技术指南

时间:2025-01-17 09:33:34浏览次数:3  
标签:WEB Semi semi React douyinfe Design 组件 ui

1、简述

Semi Design 是由字节跳动开源的现代化 React 组件库,提供了丰富的 UI 组件,具有简洁美观、响应迅速等优点,适用于各种类型的前端项目。本篇博客将介绍如何在 React 项目中集成 Semi Design,展示常见的组件用法和几个应用场景。

在这里插入图片描述

2、核心特点

Semi Design 的设计目标是高效、灵活、开箱即用。它提供了丰富的现代化组件,例如按钮、表格、表单、弹窗等,可以满足大部分的业务需求。此外,Semi Design 还提供了全面的主题定制功能,适合企业级项目中的品牌化需求。

  • 多主题支持:支持自定义主题色,灵活适配品牌需求。
  • 现代化设计:Semi Design 基于 Ant Design 体系设计,风格简洁现代。
  • 丰富的组件库:内置了大量 UI 组件,并且支持复杂的交互逻辑。
  • TypeScript 支持:提供完整的 TypeScript 类型定义,方便类型检查和提示。

在这里插入图片描述

3、项目集成

3.1 安装 Semi Design 依赖

在 React 项目中集成 Semi Design 非常简单,可以通过 npm 或 yarn 安装:

# 使用 npm
npm i @douyinfe/semi-ui

# 使用 yarn
yarn add @douyinfe/semi-ui

# 使用 pnpm
pnpm add @douyinfe/semi-ui
3.2 引入 Semi Design 的全局样式

在项目入口文件(如 index.js 或 App.js)中引入 Semi Design 的样式:

import { ConfigProvider } from '@douyinfe/semi-ui';
import '@douyinfe/semi-ui/dist/css/semi.min.css';
3.3 使用 Semi Design 组件

现在可以在项目中直接使用 Semi Design 的组件了。下面是一个简单的按钮示例:

import React from 'react';
import { Button } from '@douyinfe/semi-ui';

function App() {
    return (
        <div>
            <Button type="primary">点击我</Button>
        </div>
    );
}

export default App;

4、常见组件示例

4.1 Button 按钮

Semi Design 的 Button 组件支持多种样式和状态,例如主按钮、次按钮、禁用状态、加载状态等:

import { Button } from '@douyinfe/semi-ui';

const ButtonExample = () => (
    <div>
        <Button type="primary">主要按钮</Button>
        <Button>默认按钮</Button>
        <Button type="danger">危险按钮</Button>
        <Button loading>加载中</Button>
        <Button disabled>禁用按钮</Button>
    </div>
);
4.2 Table 表格

表格组件在企业应用中非常常见,用于展示结构化数据。Semi Design 的 Table 组件支持分页、排序、筛选等功能:

import { Table } from '@douyinfe/semi-ui';

const columns = [
    { title: '姓名', dataIndex: 'name', key: 'name' },
    { title: '年龄', dataIndex: 'age', key: 'age' },
    { title: '地址', dataIndex: 'address', key: 'address' },
];

const data = [
    { key: '1', name: 'John', age: 32, address: 'New York' },
    { key: '2', name: 'Jim', age: 42, address: 'London' },
];

const TableExample = () => (
    <Table columns={columns} dataSource={data} pagination={{ pageSize: 5 }} />
);
4.3 Form 表单

表单组件支持多种输入类型,并内置了表单验证功能,使得表单提交和验证更加便捷:

import { Form, Input, Button } from '@douyinfe/semi-ui';

const FormExample = () => (
    <Form onSubmit={values => console.log('提交的表单值', values)}>
        <Form.Item label="用户名" field="username" rules={[{ required: true, message: '请输入用户名' }]}>
            <Input placeholder="请输入用户名" />
        </Form.Item>
        <Form.Item label="密码" field="password" rules={[{ required: true, message: '请输入密码' }]}>
            <Input type="password" placeholder="请输入密码" />
        </Form.Item>
        <Button type="primary" htmlType="submit">提交</Button>
    </Form>
);

5、应用场景

  • 后台管理系统
    在后台管理系统中,Semi Design 可以提供快速开发和美观的 UI。例如,使用 Table 展示用户数据、使用 Modal 弹窗进行数据编辑、使用 Form 实现数据筛选等,可以大大提升用户体验和开发效率。

  • 实时数据监控系统
    Semi Design 提供了响应式的布局和丰富的控件,可以轻松构建实时监控页面。例如,使用 Card 和 Notification 组件显示实时消息,使用 Dropdown 和 Button 控制页面布局,使用 Icon 和 Badge 高亮重要信息。

  • 企业应用的品牌定制
    对于有品牌需求的企业应用,Semi Design 支持主题定制功能,可以通过配置主题文件来快速应用公司的品牌色和字体,保证一致的用户体验。

6、总结

通过 Semi Design,开发者可以在 React 中快速构建现代化的前端界面,并在视觉效果和交互体验上达到良好的平衡。无论是企业级的后台管理系统,还是实时数据监控应用,Semi Design 都能提供高效的解决方案。

标签:WEB,Semi,semi,React,douyinfe,Design,组件,ui
From: https://blog.csdn.net/lishangke/article/details/143401358

相关文章

  • 说说你对移动端和web前端开发的主要区别是什么?
    移动端开发和Web前端开发的主要区别体现在以下几个方面:运行平台:Web前端开发主要指传统的PC端网页开发,页面主要是运行在PC端浏览器中。移动前端开发则专注于移动设备,如手机和平板,其页面主要在这些设备的浏览器或应用中运行。技术适配性:Web前端在某些场景下需要兼容老版......
  • 30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <1> 5分钟快速创建一个springboot
    快速导航<1>5分钟快速创建一个springbootweb项目<2>5分钟集成好最新版本的开源swaggerui,并使用ui操作调用接口<3>5分钟集成好druid并使用druid自带监控工具监控sql请求<4>5分钟集成好mybatisplus并使用mybatisplusgenerator自动生成代码<5>5分钟集成好caffeine......
  • Web前端------HTML表格
    一.表格标签介绍表格,类似操作的软件excel一样,通过规范的行列方式展示数据的一种视图!        网页中(初级开发),对于这种规范的数据,使用表格标签最方便的;        实际开发(高级开发),大量的插件,可以直接生成好看的表格数据,反倒原始的表格标签使用频率降低<table><......
  • webpack5 从零搭建 vue3 项目
    目前vue3官网推荐的工具链已经是vite了,就算是要使用webpack甚至是webpack5,也可以直接使用vue-cli。然而之所以写这个,可以当是webpack5的一个学习文章。同时也是因为之前有个项目是在vue3刚出来的时候使用vue-cli(那是官网还是推荐使用webpack,以及但是得版本为webp......
  • 基于SSM实现的基于web的汽车售后服务管理系统的设计与实现+jsp源码+论文
    项目简介基于SSM实现的基于web的汽车售后服务管理系统的设计与实现+jsp源码+论文,主要功能如下:审核说明项目收集于互联网,经过我们仔细验证,可以正常运行;本项目属于学习项目,适合个人学习使用,不适合商用;精力有限,运行过程中若有小问题属正常现象,需要自行看源码进行简单的修......
  • 【前端框架】2025 React 状态管理终极指南!
    全文约10800字,预计阅读需要30分钟。React作为当下最受欢迎的前端框架,在构建复杂且交互丰富的应用时,状态管理无疑是至关重要的一环。从简单的本地状态,到能让多个组件协同工作的全局状态,再到涉及服务器通信、导航切换、表单操作以及持久化存储等不同场景下的状态管理,每一个方面......
  • Day10-后端Web实战——Mysql多表操作&员工列表查询(分页查询)
    目录1.多表关系1.1一对多1.1.1关系实现1.1.2外键约束1.2一对一1.3多对多1.4案例2.多表查询2.1概述2.1.1数据准备2.1.2介绍2.1.3分类2.2内连接2.3外连接2.4子查询2.4.1介绍2.4.2标量子查询2.4.3列子查询2.4.4行子查询2.4.5表子查询2.5案例3.员......
  • Day08-后端Web实战——JDBC&Mybatis
    目录前言1.JDBC1.1概述1.2快速入门1.3API详解1.3.1DriverManager1.3.1.1注册驱动1.3.1.2获取链接1.3.2Connection&Statement1.3.3ResultSet1.3.4PreparedStatement1.3.4.1SQL注入演示1.3.4.2SQL注入解决2.Mybatis基础2.1介绍2.2快速入门2.2.1准备......
  • OKX Web3钱包助记词私钥碰撞器,支持多币种
    系统:win10及以上操作系统语言:python全自动打开钱包,随机选取12/24助记词,并进行验证,查询助记词钱包里面的余额自动化操作,挂机即可。一、代码维护2048个助记词seed_words_test={1:'illegal',2:'drip',3:'eager',4:'hover',5:'laundry',6:'all',7:'able&......
  • node.js基于Web的课前问题导入系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于Web课前问题导入系统的研究,现有研究主要集中在Web教育系统的整体构建方面,如教学资源管理、在线学习平台等。专门针对课前问题导入系统的研究较少。......