ReactNativeUI工具包综述

来自菜鸟教程
跳转至:导航、​搜索

如果你愿意自己做很多样式,React Native 的核心 UI 组件提供了很多跨平台的能力。 另一方面,由于它甚至缺少基本的 ButtonTouchableOpacity 有人吗?),你可能会发现自己想要开始你的下一个 React Native 项目有更多的基础。 在有人制作 react-native-bootstrap 之前(顺便说一句,它还不存在),这里有一些其他的 React Native UI 工具包,你可以使用它们来 bootstrap(明白吗?)你的下一个反应原生项目。

图书馆

我们将比较和对比的库(按字母顺序)是:

  • awesome-react-native - 一次性组件和原生模块列表
  • Material UI - 将 Material Design 带入 React Native
  • NativeBase - React Native 的基本跨平台 UI 组件
  • React Native Elements - 跨平台 React Native UI 工具包
  • Shoutem - React Native 应用程序的可定制组件集

其中一些具有演示应用程序,您可以使用 Expocreate-react-native-app 背后的技术)查看。 只需在 iPhone 或 Android 上下载并打开 Expo 应用程序,在浏览器中单击 UI Toolkit 的 Expo 链接,然后使用 QR 码扫描仪在手机上打开演示应用程序。


组件类别

组件类别将用于指示库具有哪些组件,而不必列出每个组件。 以下是可能的类别列表。 如果库没有在每个类别中指定的大部分组件,则该类别将不会被指示为存在。

  • 输入: 按钮、输入字段、复选框等。
  • 高级输入: 日期选择器、自动完成、文件上传器
  • 指标: 徽章、进度指示器、Toasts、Snackbars
  • 导航: 菜单、选项卡等。
  • 对话框: 对话框、模态框、弹出框
  • 布局:抽屉、列表、卡片、网格、排版

awesome-react-native

在我们进入下面更繁重的库之前,值得注意的是,使用 awesome-react-native github repo 上的这个 广泛的组件列表完全可以创建自己的组件大杂烩。 尽可能少地或尽可能多地使用这些即插即用组件,以使您的 React Native 开发体验既高效又愉快。

材质界面

有多个用于 React Native 的 Material UI 工具包,虽然它们看起来非常相似,但有一个 HUGE 区别:我发现只有 ONE 有效在 iOS 和 Android 上:react-native-material-kit。 由于 Material 是由 Google 为 Android 平台开发的,因此大多数库都是 Android 专用的。 但是请记住,使用这个工具包会给你的 React Native 应用程序带来一种特定于 Android 的感觉,即使在 iOS 上也是如此。 如果您希望大多数用户对 iOS UX 更满意,请考虑这一点。

如果您对仅 Android 的库没有问题并且不担心 iOS 兼容性,您可以查看 react-native-material-design,其中包含更多组件,包括 Inputs、Indicators 和一些 Layout。


NativeBase

NativeBase 以组件的方式提供了很多东西——他们的演示应用程序被称为 Kitchen Sink 是有原因的。 这个库很好地尝试在 iOS 和 Android UX 之间取得平衡,使用特定于平台的样式来定制它以适应设备。 他们的组件结构很直观,他们的文档很棒,并且有很多来自网络的例子。 绝对在我的名单上排名靠前。

反应原生元素

React Native Elements 是本综述中最受欢迎和功能最全的 UI 工具包。 React Native Elements 是少数不尝试复制 iOS 或 Android 特定样式,而是创建自己的组合的少数之一。 它比其他 React Native UI Toolkits 更加丰富多彩,如果你想大胆一点,这可能是一件好事。 它有很好的文档和相对较少的未解决问题。

舒腾

Shoutem 是一个比本综述中的其他工具包更加精致和设计的 UI 工具包,更倾向于 iOS 样式指南。 如果你追求优雅,这可能是正确的选择。 然而,关于 Shoutem 最独特的事情之一是,它们为开发位于 React Native 之上的应用程序提供了一个完整的平台,除了他们提供的 40 多个官方扩展之外,还鼓励您将应用程序编写为一组扩展. 虽然没有必要使用他们的 Shoutem UI Toolkit,但值得一看,看看这是否是您希望在下一个应用程序中使用的方向。

包起来

无论您采取哪种方式,从使用本综述中的一个 React Native UI 工具包,到通过 awesome-react-native 集成一大堆组件,站在巨人的肩膀上将帮助您完成下一个 React Native 应用程序一个伟大而时尚的开始。