1

我正在为 React Native 编写本机模块,并且需要将自定义数据类型的值返回给 React Native。要返回一个值,我使用Promise 方法,如下所示:

// .swift
    
@objc
func getCardType(
  _ cardNumber: NSString,
  resolver resolve: RCTPromiseResolveBlock,
  rejecter reject: RCTPromiseRejectBlock
) {
  let cardType = cardUtils.getTypeOf(cardNumber: String(cardNumber))
  resolve(cardType)
}

并将其暴露给 React Native,如下所示:

// .m

#import "React/RCTBridgeModule.h"

@interface RCT_EXTERN_MODULE(CheckoutBridge, NSObject)

RCT_EXTERN_METHOD(getCardType:(NSString)cardNumber
  resolver:(RCTPromiseResolveBlock)resolve
  rejecter:(RCTPromiseRejectBlock)reject
)

@end

的类型cardTypeCardType3rd 方库定义的 当从 React Native 调用函数时,我收到一个null值,即使我可以看到 Native 端的值实际上是CardType(scheme: .visa, name: ...).

我认为发生这种情况是因为cardType它不是受支持的参数类型之一,并意识到可以使用 RCTConvert 以某种方式允许CardType通过桥发送值。我很难找到有关如何执行此操作的在线参考,尤其是在想使用 Swift 执行此操作时。有任何想法吗?

4

0 回答 0