-1-React Native的JSX解决方案

   JSX并非一门新的开发语言,而是Facebook提出的语法方案:一种能够在JavaScript代码中直接书写HTML标签的语法糖,因此,JSX本质上仍是JavaScript语言。javascript

小知识:语法糖(Syntactic sugar)是由英国计算科学家彼得·兰丁(https://zh.wikipedia.org/ wiki/%E5%BD%BC%E5%BE%97%C2%B7%E5%85%B0%E4%B8%81)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并无影响,可是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。java

在React和React Native开发中,不必定非要使用JSX,也能够直接使用JavaScript进行开发。可是,强烈建议读者使用JSX!由于JSX在定义相似HTML这种树形结构时,简单明了,极大地提升了开发和维护的效率。ios

下面以1.4节第一个React Native应用中的代码为例:程序员

 

01  export default class ch02 extends Component { // 每一个页面能够理解成一个组件

02      render() {                                  // 渲染页面的函数

03          return (

04              <View style={styles.container}>    // 页面根View

05                  <Text style={styles.welcome}>

06                      Welcome to React Native!

07                  </Text>

08                  <Text style={styles.instructions}>

09                      To get started, edit index.ios.js

10                  </Text>

11                  <Text style={styles.instructions}>

12                      Press Cmd+R to reload,{'\n'}

13                      Cmd+D or shake for dev menu

14                  </Text>

15              </View>

16          );

17      }

16  }

  

在上述代码中,组件的render()方法函数是用于渲染页面的,它的返回值是一个View的对象,可是为何没有发现建立对象和设置属性的代码呢?原来,JSXTransformer帮咱们把代码中XML-Like语法编译转换成真实可用的JavaScript代码,它不单单建立View对象、设置View样式和布局,同时更加贴心的是,还构建了View之间的树形结构。例如,上述例子中的树形结构是这样的:函数

 Root View (style container)

---- Sub Text 1 (style welcome)

---- Sub Text 2 (style instructions)

---- Sub Text 3 (style instructions)

  

和我一块儿学吧,《React Native移动开发实战》布局

相关文章
相关标签/搜索