ios – 如何从自定义反应本机模块的视图方法中访问道具

前端之家收集整理的这篇文章主要介绍了ios – 如何从自定义反应本机模块的视图方法中访问道具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编写一个本机模块来包装iOS组件.
从我的 – (UIView *)视图方法中,我希望能够访问提供给我的组件的道具.

我似乎无法找到任何办法.

我尝试过使用RCT_CUSTOM_VIEW_PROPERTY并在我的Obj-C代码中设置属性,但是在调用并渲染了我的 – (UIView *)视图方法之后,该属性似乎已经设置好了.

我需要这样做的原因是我试图从我的视图方法中渲染ApplePay按钮,我希望能够通过在我的组件上设置prop来更改按钮的类型.例如:

- (UIView *)view
{
  PKPaymentButtonType type = [self.aPropOnMyObject isEqualToString:@"setup"] ? PKPaymentButtonTypeSetUp : PKPaymentButtonTypeBuy;
  return [PKPaymentButton buttonWithType:type style:PKPaymentButtonStyleWhiteOutline];
}

解决方法

您可以通过以下方式调用视图中的方法

RCT_CUSTOM_VIEW_PROPERTY(aPropOnMyObject,NSString,PKPaymentButtonType)
{
  // view is what you returned from `view` method,// json is the NString value from React-Native
  [view setButtonType:(json && json == "setup") ? PKPaymentButtonTypeSetUp : PKPaymentButtonTypeBuy];
}

- (UIView *)view
{
  return [PKPaymentButton style:PKPaymentButtonStyleWhiteOutline];
}

猜你在找的iOS相关文章