使用库
React Native 提供了一组内置的 核心组件和 API,可在您的应用程序中直接使用。您不仅限于 React Native 捆绑的组件和 API。React Native 拥有一个由数千名开发者组成的社区。如果核心组件和 API 没有您想要的功能,您可以从社区中找到并安装一个库,以将该功能添加到您的应用程序中。
选择包管理器
React Native 库通常从 npm 注册表安装,使用 Node.js 包管理器,例如 npm CLI 或 Yarn Classic。
如果您的计算机上安装了 Node.js,那么您已经安装了 npm CLI。一些开发者更喜欢使用 Yarn Classic,因为它安装速度稍快,并且具有像 Workspaces 这样的额外高级功能。这两种工具都非常适合 React Native。为了解释的简洁性,在本指南的剩余部分,我们将假设使用 npm。
💡 在 JavaScript 社区中,“library”(库)和 “package”(包)这两个术语可以互换使用。
安装库
要在您的项目中安装一个库,请在终端中导航到您的项目目录并运行安装命令。让我们用 react-native-webview
试一下
- npm
- Yarn
npm install react-native-webview
yarn add react-native-webview
我们安装的库包含原生代码,在使用它之前,我们需要链接到我们的应用程序。
在 iOS 上链接原生代码
React Native 使用 CocoaPods 来管理 iOS 项目依赖项,大多数 React Native 库都遵循相同的约定。如果您使用的库没有遵循此约定,请参阅其 README 以获取更多说明。在大多数情况下,以下说明将适用。
在我们的 ios
目录中运行 pod install
,以便将其链接到我们的原生 iOS 项目。一个无需切换到 ios
目录的快捷方式是运行 npx pod-install
。
npx pod-install
完成此操作后,重新构建应用程序二进制文件以开始使用您的新库
- npm
- Yarn
npm run ios
yarn ios
在 Android 上链接原生代码
React Native 使用 Gradle 来管理 Android 项目依赖项。安装带有原生依赖项的库后,您需要重新构建应用程序二进制文件才能使用您的新库
- npm
- Yarn
npm run android
yarn android
查找库
React Native Directory 是一个专门为 React Native 构建的库的可搜索数据库。这是为您的 React Native 应用程序查找库的首选之地。
您在 Directory 上找到的许多库来自 React Native Community 或 Expo。
由 React Native Community 构建的库由志愿者和依赖 React Native 的公司中的个人驱动。它们通常支持 iOS、tvOS、Android、Windows,但这因项目而异。此组织中的许多库曾经是 React Native 核心组件和 API。
由 Expo 构建的库全部用 TypeScript 编写,并在可能的情况下支持 iOS、Android 和 react-native-web
。
在 React Native Directory 之后,如果您在 Directory 上找不到专门用于 React Native 的库,那么 npm 注册表是下一个最佳选择。npm 注册表是 JavaScript 库的权威来源,但它列出的库可能并非都与 React Native 兼容。React Native 是众多 JavaScript 编程环境之一,包括 Node.js、Web 浏览器、Electron 等,npm 包含适用于所有这些环境的库。
确定库的兼容性
它是否与 React Native 兼容?
通常,专门为其他平台构建的库将无法与 React Native 一起使用。例如,react-select
是为 Web 构建的,专门针对 react-dom
,而 rimraf
是为 Node.js 构建的,并且与您的计算机文件系统交互。其他库(如 lodash
)仅使用 JavaScript 语言特性,可在任何环境中使用。随着时间的推移,您将对此有所了解,但在那之前,最简单的找出方法是亲自尝试。如果发现它在 React Native 中不起作用,您可以使用 npm uninstall
删除包。
它是否适用于我的应用程序支持的平台?
React Native Directory 允许您按平台兼容性进行筛选,例如 iOS、Android、Web 和 Windows。如果您想使用的库当前未在其中列出,请参阅该库的 README 以了解更多信息。
它是否与我的应用程序版本的 React Native 兼容?
库的最新版本通常与最新版本的 React Native 兼容。如果您使用的是旧版本,您应该查阅 README 以了解您应该安装哪个版本的库。您可以通过运行 npm install <library-name>@<version-number>
来安装特定版本的库,例如:npm install @react-native-community/netinfo@^2.0.0
。