- 内容简介
- 译者序
- 前言
- 第 1 章 安装配置新项目
- 第 2 章 Flexbox 布局介绍
- 第 3 章 用 React Native 开发一个应用
- 第 4 章 在 React Native 中使用导航
- 第 5 章 动画和滑动菜单
- 第 6 章 用 React Native 绘制 Canvas
- 第 7 章 使用 React Native 播放音频
- 第 8 章 你的第一个自定义视图
- 第 9 章 Flux 介绍
- 第 10 章 处理复杂的应用程序状态
- 第 11 章 使用 Node 来实现服务端 API
- 第 12 章 在 React Native 中使用文件上传
- 第 13 章 理解 JavaScript Promise
- 第 14 章 fetch 简介
- 第 15 章 在 iOS 中使用 SQLite
- 第 16 章 集成 Google Admob
- 第 17 章 React Native 组件国际化
- 附录 A React.js 快速介绍
- 附录 B Objective-C Primer
- 附录 C webpack 入门
第 8 章 你的第一个自定义视图
在本章中,我们将学习如何使用 Objective-C 创建原生视图,然后把它集成到使用 JavaScript 写的 React Native 应用中。
本例基于 React Native,就像 React 库那样,通过绑定视图和数据来工作。我们开发中总是期望任何数据的变化都会引起视图的刷新,以便将变化的数据实时反映到视图上。这时就需要复杂而频繁的视图操作,但是 React Native 足够聪明,视图实际上并没有直接创建 UI 元素(在 React 中对应 DOM 元素,在 React Native 中对应原生组件),而是创建“虚拟”视图或元素。React Native 总是将当前和上一次的变化进行对比,然后仅仅将需要变化的部分进行实际视图的更新。
React Native 带有一组内置的组件,你可以用它来创建 UI。对于多数应用来说,这些可能就足够了,但有时你会需要一些定制。幸运的是,通过 React Native,用 Objective-C(一旦支持了 Android 平台,语言就会是 Java)创建的自定义原生视图能很容易地被 JavaScript 创建的视图所使用。虽然这种处理方式没有在文档中写明,但是源码中写得很清楚并且是可用的。 [1]
为了使得自定义 Objective-C 视图对于 React Native 是可用的,你需要两个 Objective-C 的类:原生视图本身(继承自 UIKit 下的 UIView)和视图管理器(继承自 React Native 下的 RCTViewManager)。该视图可以只是一个普通的 iOS 视图,它并没有什么特别的地方。React Native 通过调用视图管理器的一个视图方法来实例化一个视图。视图管理器还把一些特定的属性和方法暴露给 JavaScript,供 JSX 模板进行访问设置。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论