加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

React-Native 组件开发方法

发布时间:2016-10-28 22:10:18 所属栏目:教程 来源:站长网
导读:副标题#e# 前言 React Native的开发思路是通过组合各种组件来组织整个App,在大部分情况下通过组合View、Image等几个基础的组件,可以非常方便的实现各种复杂的跨平台组件,不过在需要原生功能支持、对性能有要求的情况下还是需要进行一定的原生的开发,合

然后在ViewManager或View中进行事件派发:

ReactContext reactContext = (ReactContext) buttonView.getContext();
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(
    new ReactSwitchEvent(
        buttonView.getId(),
        isChecked));

iOS端实现有所区别,iOS端将JS函数直接映射到Native,所以可以直接调用(可多次调用):(View为RCTSwitch)

// ViewManager中声明事件为RCTBubblingEventBlock或RCTDirectEventBlock
RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock);

// View中声明
@property (nonatomic, copy) RCTBubblingEventBlock onChange;

// view实例化时监听onChange
- (void)onChange:(RCTSwitch *)sender
{
  if (sender.wasOn != sender.on) {
    if (sender.onChange) {
      sender.onChange(@{ @"value": @(sender.on) });
    }
    sender.wasOn = sender.on;
  }
}

View:

实现你想实现的,他会出现在JS端使用的DOM位置上。

(底层实现分析参见:React-Native 渲染实现分析)

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读