• <React Native移动开发实战>-1-React Native的JSX解决方案


       JSX并不是一门新的开发语言,而是Facebook提出的语法方案:一种可以在JavaScript代码中直接书写HTML标签的语法糖,所以,JSX本质上还是JavaScript语言。

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

    在React和React Native开发中,不一定非要使用JSX,也可以直接使用JavaScript进行开发。但是,强烈建议读者使用JSX!因为JSX在定义类似HTML这种树形结构时,简单明了,极大地提高了开发和维护的效率。

    下面以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,{'
    '}
    
    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移动开发实战》

     

  • 相关阅读:
    常用第三方快递鸟单号查询Api接口免费对接调用攻略
    Solution -「CF 1477A」Nezzar and Board
    Solution -「THUPC 2021」区间矩阵乘法
    Solution Set -「CF 1520」
    Solution -「HNOI 2010」城市建设
    Solution -「NOI 2007」货币兑换
    Solution -「洛谷 P6156」简单题
    Solution -「YunoOI 2017」由乃的 OJ
    Journey -「CQOI 2021」
    Note -「SOS DP」高维前缀和
  • 原文地址:https://www.cnblogs.com/mochou/p/7276904.html
Copyright © 2020-2023  润新知