news 2026/7/2 12:22:08

React:使用Tailwind CSS、Streamdown与Ant Design X

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
React:使用Tailwind CSS、Streamdown与Ant Design X

之前是把样式都交给AI写了,但是发现AI喜欢每个组件对应一个样式,这样子不方便后续维护,既然都交给AI了那么还不如直接让AI用Tailwind CSS。经过实测发现AI写Tailwind CSS的水平还是很强的。

静态页面交给AI写用Tailwind CSS用的已经很好了。

使用Ant Desgin X

@ant-design/x 是一个专注于 React 生态的先进 AI 组件库,旨在简化与人工智能集成的开发过程。

该库包括高度定制化的 AI 组件,允许开发者轻松地将对话 AI 集成到他们的应用中。除了丰富的 UI 组件,@ant-design/x 还提供了一揽子 API 解决方案,支持开发者通过令牌认证直接接入现有 AI 服务,无缝衔接与 AI 的对话和交互。无论是建立智能聊天应用、提升用户交互体验还是加快 AI 能力的集成,@ant-design/x 都是 React 开发者进入 AI 世界的理想伙伴。

官方仓库地址:https://github.com/ant-design/x

官方文档地址:https://x.ant.design/components/overview-cn

这个组件比较新直接让AI来写是不太行的,需要自己看下文档,不过文档已经提供了比较详细的示例代码了,自己看懂之后,复制粘贴一下交给AI,当做AI的上下文,写起来估计问题也不大。

目前使用Ant Desgin X做了一个简单的AI聊天界面了,自己用AI写的组件的质量跟大厂写的肯定是不能比的,既然大厂都做的这么好了,直接用大厂做好的轮子就行了。

AI对Ant Design这个组件库很熟练,使用这个组件库的Menu + React Router代替了之前写的自定义样式 + React Router。

使用Ant Design做了一个模型配置页面:

个人感觉让AI用知名组件库来写比纯让AI自己写还是好多了。

使用Streamdown

这个也是一个新东西直接让AI来写是不太行的,需要自己先看下仓库介绍。

Streamdown的简介是“react-markdown 的即插即用替代品,专为 AI 驱动的流式传输而设计。”

官方仓库地址:https://github.com/vercel/streamdown

用起来在流式传输方面确实比之前使用的react-markdown效果要好一点。

渲染代码效果:

渲染表格效果:

渲染mermaid图效果:

遇到的问题

被一个SSE传输导致前端总是没有换行的一个问题困扰最久。

之前的效果是这样的:

总是只有一行,我能发现应该是后端传过来的换行符没有被正常解析导致的,但是叫AI改了很久还是没有很好地解决,自己上网查了一下,果然发现有很多人都遇到过这个问题。

一个很不错的解决方案就是进行转义,因为SSE传输有他自己的格式:

前端在处理的时候一般喜欢将所有\n都去掉,就导致了AI回复就只有一段话。

可以在后端将AI回复中的\n转义为一个占位符,这里用的是<|newline|>,然后在前端再将这个占位符转化为\n即可。

后端处理:

前端处理:

这样AI回复就不会就只有一段内容了,AI回复中带有的换行能正常保留了。

一些学到的知识点

解构写法

这种写法:

const Sidebar: React.FC<SidebarProps> = ({ collapsed = false }) => {}

类型安全:TypeScript 确保组件接收正确的 props 类型

简洁性:解构和默认值在一行完成

可读性:直接看到组件需要哪些 props

自文档化:类型定义作为组件的"文档"

React.useEffect的使用

useEffect 是 React 中最重要的钩子之一,它让你能够在函数组件中执行副作用操作。

副作用(Side Effects):指组件渲染之外的操作,如:

数据获取(API调用)

订阅(定时器、事件监听)

手动修改DOM

localStorage操作

React.useMemo的使用

useMemo 是 React 提供的性能优化钩子,用于记忆化计算结果,避免在每次渲染时重复执行昂贵的计算。

localStorage的使用

localStorage 是 Web 浏览器提供的一种客户端存储机制,允许网站在用户浏览器中持久化存储数据。

基本概念

localStorage 是 Window 对象的属性,提供了键值对存储功能,数据没有过期时间,除非用户手动清除或通过代码删除。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/28 20:17:59

字节跳动开源Bamboo-mixer:AI驱动电解液研发革命,周期缩短60%

字节跳动开源Bamboo-mixer&#xff1a;AI驱动电解液研发革命&#xff0c;周期缩短60% 【免费下载链接】bamboo_mixer 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/bamboo_mixer 导语 字节跳动旗下AI实验室发布开源模型Bamboo-mixer&#xff0c;通过&…

作者头像 李华
网站建设 2026/7/1 16:40:02

后端学习笔记

目录 字符流的实现 flush和close方法 IO流体系​编辑 缓冲流 序列化流/反序列化流的细节汇总 打印流 Hutool工具包 多线程 多线程三种实现方式对比 常见的成员方法 线程的使用 生产者和消费者 常见方法 等待唤醒机制 阻塞队列方式实现 线程的状态 线程池 主要核心原理 代码实现…

作者头像 李华
网站建设 2026/6/29 6:10:51

Gitea权限管理:构建安全高效的代码访问控制体系

Gitea权限管理&#xff1a;构建安全高效的代码访问控制体系 【免费下载链接】gitea Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD 项目地址…

作者头像 李华
网站建设 2026/6/30 10:00:21

AI视频生成终极指南:从零开始快速上手WAN2.2-14B-Rapid-AllInOne

在当今数字内容创作浪潮中&#xff0c;AI视频生成技术正以前所未有的速度改变着创作生态。WAN2.2-14B-Rapid-AllInOne作为一款革命性的全能视频生成模型&#xff0c;为创作者提供了前所未有的便捷体验。无论你是视频制作新手还是专业创作者&#xff0c;这款模型都能满足你的多样…

作者头像 李华
网站建设 2026/7/1 14:47:35

Ascend C 绿色计算与边缘部署:面向低碳 AI 的极致能效优化实践

引言&#xff1a;性能之外&#xff0c;能效成为新指标在全球碳中和背景下&#xff0c;AI 的能耗问题 日益受到关注。据测算&#xff0c;训练一个大模型的碳排放相当于 5 辆汽车 lifetime 排放。而在推理侧&#xff0c;边缘设备&#xff08;如摄像头、车载终端&#xff09;的功耗…

作者头像 李华