英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。
UI 小猫
基于 Eva 设计系统构建的 React Native UI 库。
30 个可主题化组件,支持浅色和深色主题,运行时主题切换,适用于 iOS、Android 和网页。
文档
·
入门
·
组件
·
Migrate from v5
·
更新日志
UI Kitten 6 已发布。 它针对 React 19、React Native 0.81 以及新架构进行了重建。是否从 5.x 升级?请阅读 从 5.x 升级到 6 的迁移指南。
功能
- 30 个组件 — 按钮、输入框、选择器、日历、列表、标签页、抽屉、模态框、弹出框、菜单等,每个组件都有 Eva 风格、状态和尺寸。
- Eva 设计系统 — 每个组件都遵循 Eva 规范。可以使用默认外观,也可以提供自己的映射。
- 主题 — 内置明亮和暗黑主题,自定义品牌主题,并且在运行时无需重新加载即可切换主题。
- 新架构准备就绪 — 全部采用函数组件和 Hooks,在 React Native 0.81 和 Expo 54 的 Fabric 上经过验证。
- TypeScript 优先 — 为每个组件生成
.d.ts文件,导出 ref 类型和属性类型。 - 跨平台 — 通过 React Native Web 支持 iOS、Android 和 Web。
- 可访问性 — 角色、状态和值对 VoiceOver、TalkBack 和屏幕阅读器可用。详见 可访问性指南 了解当前覆盖情况。
- 480 个 Eva 图标 — 通过
@ui-kitten/eva-icons可选的 SVG 图标包,注册完整图标集或仅注册导入的图标,亦可使用自定义图标集。 - 双 CJS 和 ESM 构建 — 可在 Metro、Vite、Jest 和 Node 上使用,无需额外配置。
安装
UI Kitten 需要两个包以及 react-native-svg:
# Expo
npx expo install @ui-kitten/components @ui-kitten/eva react-native-svg
# Bare React Native
npm install @ui-kitten/components @ui-kitten/eva react-native-svg
cd ios && pod install
可选软件包:
npm install @ui-kitten/eva-icons # Eva Icons pack
npm install @ui-kitten/moment # Calendar / Datepicker with moment
npm install @ui-kitten/date-fns # Calendar / Datepicker with date-fns
npm install -D @ui-kitten/metro-config # Build-time style processing
从头开始?npx create-expo-app@latest MyApp,然后在其中运行上面的 Expo 命令。入门指南详细介绍了这两种路径。
快速开始
将你的应用根组件包裹在 ApplicationProvider 中,并传入 Eva 映射和主题:
import React from 'react';
import * as eva from '@ui-kitten/eva';
import { ApplicationProvider, Button, Layout, Text } from '@ui-kitten/components';
const HomeScreen = () => (
<Layout style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text category='h1'>Hello UI Kitten</Text>
<Button appearance='outline' status='primary'>
GET STARTED
</Button>
</Layout>
);
export default () => (
<ApplicationProvider {...eva} theme={eva.light}>
<HomeScreen />
</ApplicationProvider>
);
切换到 eva.dark,或在其上扩展你自己的主题,每个组件都会使用新的调色板重新渲染。请参阅 品牌化 和 运行时主题。
兼容性
| 依赖项 | 最低要求 | 测试环境 |
|---|---|---|
react |
18.2 | 19.1 |
react-native |
0.72 | 0.81(新架构) |
react-native-svg |
13 | 15.12 |
| Expo | SDK 49 | SDK 54 |
| React Native Web | 0.19 | 0.21 |
软件包
| 软件包 | 版本 | 描述 |
|---|---|---|
@ui-kitten/components |
📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| 组件、主题钩子和ApplicationProvider。 |
|@ui-kitten/eva|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| Eva mapping plus the light and dark themes. Required. |
|@ui-kitten/material|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| Alternative Material-flavoured mapping and themes. |
|@ui-kitten/eva-icons|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| 480 个作为IconRegistry包的 Eva 图标。 |
|@ui-kitten/moment|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
|momentdate service for Calendar and Datepicker. |
|@ui-kitten/date-fns|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
|date-fnsdate service for Calendar and Datepicker. |
|@ui-kitten/metro-config|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| 在构建时预编译 Eva 映射的 Metro 插件。 |
|@ui-kitten/processor|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| 映射处理器。替代@eva-design/dss和@eva-design/processor。 |
|@ui-kitten/mapping-base|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
|eva和material使用的共享映射模式。 |
|@ui-kitten/codemod|📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
| Rewrites a v5 app for v6 and reports what it could not touch. |
Migrate from v5
包名、组件名和属性保持不变。破坏性更改包括从类组件迁移到函数组件(ref 类型)、删除 styled 装饰器以使用 useStyled 以及强制的 peer 依赖。迁移指南 列出了每个更改及其修复方法。
npx @ui-kitten/codemod 会重写机械部分,并生成无法修改的报告;添加 --write 以应用更改。源码位于 src/codemod。
文档和示例
- 文档网站 — 指南、设计系统参考以及每个组件的单独页面。
- 展示应用 — 一个 Expo 应用,可以渲染每个组件并提供实时主题和映射切换。使用
yarn showcases:start启动,或使用yarn showcases:ios或yarn showcases:android运行。 - Eva 设计系统 — 映射所实现的规范。
贡献
欢迎提出问题和拉取请求。该仓库是一个 Yarn 3 Turborepo 单体仓库;各个包位于 src/*,文档网站位于 website/。
yarn install
yarn build # build every package
yarn test # jest
yarn lint
yarn typecheck
yarn docs:dev # docs site at localhost:3000
每个面向用户的更改都需要一个 changeset (yarn changeset)。发布是从 master 和 next 自动进行的;请参阅 RELEASING.md。
问题和想法请放在 GitHub 讨论区;bug 请提交到 Issues 中。
许可证
MIT。
UI Kitten 由 Akveo 团队创建。v6 版本重写及当前维护由 Vlad Bataev 和 UI Kitten 贡献者 完成。Eva 处理器和映射包来源于 @eva-design/*;请参阅 NOTICE。@ui-kitten/eva-icons 中的图标是 Akveo 提供的 Eva Icons,MIT 许可;请参阅该包的 LICENSE。
- 本文标题:react-native-ui-kitten - 基于 Eva 设计系统构建的 React Nativ
- 本文链接:https://www.cn121.com/mobile/akveo-react-native-ui-kitten.html
- 原项目:akveo/react-native-ui-kitten 版权归原作者 akveo 及贡献者所有
- 收录信息:本站于 2026-10-15 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 akveo/react-native-ui-kitten。
- 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。