Repolode
jpudysz

jpudysz/react-native-unistyles

React Native 样式库,在 StyleSheet 基础上提供主题、响应式样式和变体支持。

Star
2,973
Fork
139
未关闭 Issue
4
最近提交
4天前

这是什么?

Unistyles 是一个 React Native 样式库,以 C++ 核心通过 JSI 和 Nitro Modules 对外提供能力,用来替代常规的 StyleSheet 写法。样式只需定义一次,就能通过一个函数调用在已注册的多套主题之间切换,并能随屏幕尺寸等运行时条件自动适配。

该库基于 New Architecture 和 Fabric 工作,通过 Shadow Tree 直接更新原生视图,不会重新渲染 React 组件,也不引入额外的包装组件,视图层级保持干净。它支持 Expo 开发构建,内置自定义解析器以在 Web 端使用 class 和伪类,并可配合 Next.js 进行服务端渲染。

使用要求为 React Native 0.85 及以上、React 19 及以上;配合 Expo 时需要 SDK 56 及以上。旧版 React Native 或 Old Architecture 可使用 Unistyles 2.0。

核心功能

  • 01通过一个函数调用即可注册并切换多套主题。
  • 02样式可根据屏幕尺寸等运行时条件自动响应。
  • 03基于 C++ 核心,通过 JSI 绑定与 Nitro Modules 实现。
  • 04不引入新组件,视图层级保持简洁。
  • 05Web 端支持 class 和伪类,并可配合 Next.js 做 SSR。
  • 06支持在 monorepo 中跨平台共享样式。

适用场景

  • 为需要浅色和深色主题的 React Native 应用切换外观。
  • 在原生移动端与 React Native Web 项目之间共享同一套样式。
  • 在使用 Expo 开发构建的应用中实现响应式布局。
  • 将 React Native 项目逐步迁移到基于主题的样式体系。

快速上手

  1. 1

    安装该库及其 Nitro Modules 依赖

    yarn add react-native-unistyles react-native-nitro-modules
  2. 2

    按照你所用平台的安装指南进行配置

使用前须知

  • 需要 React Native 0.85 及以上版本并启用新架构,同时需要 React 19 及以上版本。
  • Expo 项目需要使用开发构建,不支持 Expo Go。

标签

常见问题

react-native-unistyles 是什么?
React Native 样式库,在 StyleSheet 基础上提供主题、响应式样式和变体支持。 Unistyles 是一个 React Native 样式库,以 C++ 核心通过 JSI 和 Nitro Modules 对外提供能力,用来替代常规的 StyleSheet 写法。样式只需定义一次,就能通过一个函数调用在已注册的多套主题之间切换,并能随屏幕尺寸等运行时条件自动适配。
react-native-unistyles 可以免费使用吗?用的什么许可证?
react-native-unistyles 没有声明许可证。代码虽然公开,但没有许可证就没有明确的使用授权,正式使用前建议先联系作者。
react-native-unistyles 还在维护吗?
活跃维护中。react-native-unistyles 最近一次提交是在 2026年11月3日。
react-native-unistyles 适合用来做什么?
为需要浅色和深色主题的 React Native 应用切换外观。 在原生移动端与 React Native Web 项目之间共享同一套样式。 在使用 Expo 开发构建的应用中实现响应式布局。 将 React Native 项目逐步迁移到基于主题的样式体系。
react-native-unistyles 怎么安装和运行?
安装该库及其 Nitro Modules 依赖: yarn add react-native-unistyles react-native-nitro-modules 按照你所用平台的安装指南进行配置
在哪里获取 react-native-unistyles?
源代码和安装说明在 GitHub 上:https://github.com/jpudysz/react-native-unistyles

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目