React Native之路(三)Hello World

前兩篇已經把安裝環境及IDE配置好了,接下來就開始編寫第一個React Native 吧。(提前說一下目前水平,搞了4年Android開發,在學習React Native之前從沒接觸過React,JSX這些東西,自學過一點點JS,可以說是零基礎學習React Native)。
接下來 按照我們學習一門語言的古老傳統,我們先來寫一個Hello World吧!

打開subline ,啟動Terminal終端,進入你想創建工程的目錄下,執行

react-native init HelloWorld

等待工程創建完畢。(很多人說這個過程太慢,有時還會創建失敗,其實只要在配置安裝環境時設置好鏡像,還是很快的)
使用subline 打開工程目錄,并打開index.android.js



刪除默認程序,編寫如下程序:

import React,{Component} from 'react';
import{
  AppRegistry,
  Text
}from 'react-native';
class HelloWorld extends Component{
  render(){
    return(
      <Text>Hello World!</Text>
      );
  }
}
AppRegistry.registerComponent('HelloWorld',()=>HelloWorld);

終端中

cd HelloWorld
react-native run-android

程序運行如下:

好了,雖然還不知道上面那段代碼什么意思,但現在已經成功的運行了HelloWorld。現在看不懂沒關系,不要慌,就像官網說的Don't panic. This is the future.哈哈!
下面來分析一下這個代碼

首先import, from, class, extends這些關鍵字以及()=>這個句法均是ES6中的固定語法,現在只要知道這個是固定語法就行了。而且

import React,{Component} from 'react';
import{
  AppRegistry,
  ... ....
}from 'react-native';

這個算是固定寫法吧

class HelloWorld extends Component 意思就是定義一個名為HelloWorld 的新組件,好像我們Android里標準的類繼承寫法啊。

render(){}這是一個渲染函數,每一個組件都必須有這個渲染函數,否則組件是無法顯示的,在render()中還有一個return函數,里邊包含了我們寫的JSX代碼;

其次是<Text>Hello World!</Text> 這個是JSX語法,一種在JS中使用XML的語法,首先是在import中導入了聲明,然后才可以使用,這不和我們java一個道理嘛。這里的<Text>其實就是類似于我們Android中的TextView用來顯示文本。

最重要的事最后一句AppRegistry.registerComponent('HelloWorld',()=>HelloWorld);
這是應用的啟動入口,就像每個Android程序的啟動Activity一樣,意思是我們的HelloWorld被注冊成為一個新的組件,并且為啟動入口,AppRegistry.registerComponent()在整個程序中只可能出現一次。

到現在為止,雖然我還不知道JSX,ES6這些語法,但已經大概搞清楚了HelloWorld 這個工程的大概結構,其實和我們Android還是有些相似地方的。

下一篇搞定Props和State。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容