使用社区原生模块
需要进行架构审查:本文档旨在支持针对 React Native 的“旧”或“遗留”架构的开发。它可能适用也可能不适用于新架构的开发,需要审查并可能需要更新。有关 React Native Windows 中 React Native 架构的信息,请参阅新旧架构。
有关 Windows 上原生开发的最新信息,请参阅原生平台:概述。
社区原生模块通常以 npm 包的形式分发。要了解有关 npm 包的更多信息,您可能会发现本指南很有用。
使用原生模块需要更新您的应用程序的原生构建文件以依赖于模块的原生构建文件,这称为“链接”。许多模块支持“自动链接”,即在运行run-windows 命令时自动完成这些更新。其他模块可能需要您手动链接模块。
本文档概述了将模块 (react-native-foo
) 手动链接到项目的常规步骤。
并非所有社区模块都已更新以在 Windows 上运行。如果您发现某个模块无法在 Windows 上运行,请在 GitHub 上提交问题。我们正在GitHub上跟踪我们正在努力添加支持的不兼容模块列表。
请注意,各个模块可能具有不同的或特定的链接到 Windows 的步骤。如果模块仓库没有说明如何在 Windows 上使用模块,则本文档中概述的步骤很有用。
有关自动链接如何工作的更多信息,请参阅自动链接原生模块。
步骤 1:更新解决方案文件
将 ReactNativeFooCPP
项目添加到您的解决方案。
- 在 Visual Studio 2019 中打开解决方案
- 右键单击解决方案资源管理器中的解决方案图标 > 添加 > 现有项目
- 选择
node_modules\react-native-foo\windows\vNext\ReactNativeFooCPP\ReactNativeFooCPP.vcxproj
步骤 2:更新 .vcxproj 文件
将 ReactNativeFooCpp
的引用添加到您的主应用程序项目。在 Visual Studio 2019 中
- 右键单击主应用程序项目 > 添加 > 引用...
- 从解决方案项目中选中
ReactNativeFooCpp
pch.h
文件
步骤 3:更新 添加 #include "winrt/ReactNativeFooCPP.h"
。
步骤 4:注册包
在 InitializeComponent();
之前添加 PackageProviders().Append(winrt::ReactNativeFooCPP::ReactPackageProvider());
。