React Native 跨平台组件库实践: GlueStack UI 上手指南

引言

在现代前端开发中, 组件化开发早已成为主流。从最早的 BootstrapAnt DesignMaterial UI, 再到支持多端的 NativeBase 组件库的演进极大提升了开发效率和界面一致性, 也逐渐成为衡量团队前端工程能力的重要标准之一。 组件库为何如此关键? 对于一个项目来说, 选对组件库就像打下了良好的地基。它不仅决定了开发体验, 还影响着:

  • 开发效率: 高质量的组件库能大幅减少重复造轮子, 让开发者专注于业务逻辑。
  • 视觉一致性: 统一的设计规范与风格, 确保 UI 一致性、整洁、美观、可维护。
  • 可维护性与扩展性: 封装良好的组件减少了技术债, 方便团队协作与后期扩展。
  • 跨平台支持: 对于多端项目, 跨平台组件库可以极大降低平台差异带来的开发负担。

而最近我在开发一个基于 React Native 的项目, 因此我开始调研并尝试使用一些现代的跨平台组件库。在对比了多款方案之后, 最终选择了 GlueStack UI ------一个现代、灵活, 且原生支持 Tailwind CSS(NativeWind) 样式体系的 React / React Native UI 组件库。

二、为什么是 GlueStack UI

GlueStack UI 就是新版 NativeBase重塑版, 也可以理解为 NativeBase 的 下一代进化产品。

而之所以选择它, 无非以下几点原因:

  1. 看官网, 整体组件看得顺眼(整体 UI 还是挺好看的)
  1. 使用 Tailwind CSS (NativeWind) 制作的 UI 组件库, 所以原生支持 NativeWind 特性

  2. 按需加载, 只安装我们需要的组件, 同时通过从 Gluestack UI 组件库复制组件, 快速集成预构建的高质量组件的同时, 可允许我们轻松使用 Tailwind CSS (NativeWind) 类进行自定义, 完全掌控代码, 实现无限自定义。从美观到交互行为, 精准定制每个 UI 组件和元素

三、配置

安装还是很简单的, 我这里是直接执行官方提供的命令

sh 复制代码
npx gluestack-ui init

该命令会自动检测你项目的环境, 然后自动化安装配置的

剩下就是一路回车, 安装完即可

安装完成后, 发现生成的配置, 会和现有的配置出现冲突情况, 手动解决一下就行

四、使用

由于是按需加载的, 所以我们需要在每次使用新的组件时, 调用官方 CI 命令, 来安装组件:

js 复制代码
npx gluestack-ui add button

如下截图, 实际上每次我们安装组件, 都会将组件从组件库中复制到我们自己的项目下:

组件的使用, 就按官方文档来即可:

jsx 复制代码
import { Button, ButtonText } from "@/components/ui/button"

function Example() {
  return (
    <Button size="md" variant="solid" action="primary">
      <ButtonText>Hello World!</ButtonText>
    </Button>
  )
}

上面代码最终效果如下:

五、参考

相关推荐
竹林81839 分钟前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花1 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu12272 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪2 小时前
Vue3-生命周期
前端
莪_幻尘3 小时前
你的 AI Skill 越多越蠢?Token 上下文爆炸的求生指南
前端·ai编程
lichenyang4533 小时前
从 has.echo 到异步 API 注册表:一次 ASCF API 回调不触发的排查复盘
前端
林瞅瞅3 小时前
Nuxt3 项目部署 Nginx 防盗链后特定 JS 文件 403 问题修复方案
前端
kyriewen3 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
一颗奇趣蛋4 小时前
Web 视频开发完全指南:从入门到精通
前端
非洲农业不发达4 小时前
windows终端体验大升级,让你拥有macos级别的美化
前端·后端