1. 從原生組件傳遞屬性到React Native(原生->RN)
通過RCTRootView將屬性傳給RN
iOS代碼如下
NSDictionary *props = @{@"desc":@"hello, fuck you"};
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"XYMobileTest"
initialProperties:props
launchOptions:nil];
MainViewController* vc = [[MainViewController alloc] init];
vc.view = rootView;
2. 從React Native傳遞屬性到原生組件(RN->原生)
2.1 iOS做如下修改
- 引入
#import <React/RCTBridgeModule.h>
以及<RCTBridgeModule>
協(xié)議 - 必須實(shí)現(xiàn)
RCT_EXPORT_MODULE()
方法 - 設(shè)置你自定義的方法
RCT_EXPORT_METHOD(testName:(NSString *)name){
NSLog(@"%@",name);
};
2.2 JS做如下修改
- 引入
import { NativeModules } from 'react-native';
- 使用OC中定義的方法
let connection = NativeModules.XYConnection;
connection.testName('Will');
具體可見一個(gè)demo盏阶,歡迎???