React Native移動開發實戰-1-React Native的JSX解決方案

JSX並非一門新的開發語言,而是Facebook提出的語法方案:一種能夠在JavaScript代碼中直接書寫HTML標籤的語法糖,因此,JSX本質上仍是JavaScript語言。ios

小知識:語法糖(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,{'\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移動開發實戰》
圖片描述
圖片描述spa

相關文章
相關標籤/搜索