返回

用 React Native 构建 iOS 原生模块:一步步指南

前端

前言

在 React Native 应用程序中,有时需要访问原生 iOS 功能或组件。为此,我们可以创建原生模块,它将作为 React Native 和原生代码之间的桥梁。在本指南中,我们将逐步介绍如何在 React Native 中创建 iOS 原生模块。

  1. 创建模块文件

    • 在 XCode 中打开您的项目。
    • 右键单击项目 -> 选择“新建文件”。
    • 选择“Objective-C 类”。
  2. 配置模块文件

    • 名称: 为模块文件输入一个名称,例如“RNHello”。
    • 类型: 选择“Objective-C 类”。
    • 子类: 选择“RCTEventEmitter”。
    • 单击“创建”。

接下来,我们需要实现模块方法。在 RNHello.m 文件中添加以下代码:

#import <React/RCTLog.h>

@implementation RNHello

- (void)sayHello:(NSString *)name
{
  RCTLogInfo(@"Hello, %@!", name);
}

@end

此方法将接收一个字符串参数 name,并在控制台中打印一条消息。

为了使 React Native 能够访问我们的原生模块,我们需要在 RNHello.h 文件中进行注册:

#import <React/RCTBridgeModule.h>

@interface RNHello : NSObject <RCTBridgeModule>

RCT_EXPORT_METHOD(sayHello:(NSString *)name);

@end

此代码将模块暴露给 React Native。

现在可以在 React Native 中使用我们的原生模块:

import { NativeModules } from 'react-native';

const { RNHello } = NativeModules;

RNHello.sayHello('John');

运行应用程序时,您应该会在控制台中看到以下消息:

Hello, John!

恭喜!您已成功创建了一个 iOS 原生模块,供 React Native 应用程序使用。通过这种方法,您可以扩展 React Native 应用程序的功能,以访问原生 iOS 功能和组件。