React Native 学习笔记(一)

1.自定义view时,外部需要传进view一个图片时,不用传进去整个Image,只需要传进去一个source就行了,属性类型 PropTypes.node;

2.js调用原生代码:

在.h 引入 #import "RCTBridgeModule.h"并实现RCTBridgeModule协议
例如:

//  RNTest.h

#import <Foundation/Foundation.h>
#import "RCTBridgeModule.h"
@interface RNTest : NSObject<RCTBridgeModule>

@end

在.m
为了实现RCTBridgeModule协议,你的类需要包含RCT_EXPORT_MODULE()宏。这个宏也可以添加一个参数用来指定在Javascript中访问这个模块的名字。如果你不指定,默认就会使用这个Objective-C类的名字
通过RCT_EXPORT_METHOD()宏来实现js调用的oc方法;
例如:

//
//  RNTest.m

#import "RNTest.h"

@implementation RNTest

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(addEvent:(NSString *)name callback:(RCTResponseSenderBlock)callback){

  NSString *callbackStr = @"回调函数";
  // 可以判断调用的是哪个方法
  if ([name isEqualToString:@"addTestEvent"]) {
    [self addTestEvent];
  } else{
    //
  }
  callback(@[[NSNull null], callbackStr]);
}

- (void)addTestEvent {
  NSLog(@"addTestEvent调用了");
}

@end

其中的callback的返回值,是个数组,可以是返回给js的值;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值