Я пытаюсь создать Native UI Component, чтобы я мог использовать его с другими реактивно-нативными компонентами в той же сцене.Я прочитал документ здесь https://facebook.github.io/react-native/docs/native-components-ios,, но используемый мной фреймворк (GStreamer) предоставляет только UIViewController.Вот что у меня есть:
RNStreamerManager.h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <React/RCTViewManager.h>
NS_ASSUME_NONNULL_BEGIN
@interface RNStreamManager : RCTViewManager
@end
NS_ASSUME_NONNULL_END
RNStreamerManager.m
#import <Foundation/Foundation.h>
#import "RNStreamerManager.h"
#import "GSViewController.h"
@implementation RNStreamManager
RCT_EXPORT_MODULE(RNStream)
RCT_EXPORT_VIEW_PROPERTY(stream_port, NSString)
- (UIView *)view
{
GSViewController *controller = [GSViewController loadInstanceFromNib];
return controller.view;
}
@end
Я могу создать функцию view
смой взгляд viewController как возвращение.Это работает, и я могу использовать этот компонент в моем приложении на собственном языке.
Проблема в том, что мне нужно js, чтобы передать свойство в цель c , в данном случае номер порта потока, чтобы инфраструктура GStreamer могла представить поток на порту.В моем GSViewController.h
я определил:
@property(nonatomic, assign) NSString *stream_port;
и в своем коде js я попытался передать свойство как
<GStream port={this.props.port} style={{flex: 1}} />
, а в RNStreamerManager.m я поставил
RCT_EXPORT_VIEW_PROPERTY(stream_port, NSString)
, но stream_port
не установлено, и я получил ноль.Я попробовал RCT_CUSTOM_VIEW_PROPERTY
, но тоже не получилось.
Буду очень признателен, если кто-нибудь сможет дать намек или идею!Я застрял в этой проблеме в течение 2 дней, пожалуйста, помогите!Заранее спасибо.