簡單易懂的React魔法(03):JSX簡介

在src文件夾下創建新文件夾命名為pages,pages下創建Detail.js。當開發React的時候有些開發者喜歡用后綴名.jsx有些還是用js,這其實不要緊。想用哪個就用哪個。話雖如此,如果這是你第一次使用react,那你還是用js后綴吧。

在Detail.js里,我們會用react渲染一些簡單的東西,讓你看看為什么我們早些時候需要配置那些webpack 和 npm。編輯Detail.js使它包含以下代碼:

src/pages/Detail.js

import React from 'react';

class Detail extends React.Component {
    render() {
        return <p>This is React rendering HTML!</p>;
    }
}

export default Detail;

這7行es6代碼,一句是空的,兩句是括號,應該沒多大問題。有趣的是這段代碼在js中使用了HTML,這樣做是合法的,同樣也能運行。這是react很多特性中的一個,叫做JSX,當你使用webpack打包的時候,這段代碼會自動轉換為javascript。

jsx和html很像,不過有幾處不同,我們會在用到的時候講到。下面我們來看一下上面這段代碼重要的幾句:

*import React from ‘react’加載了react庫,這是我們項目的核心。

  • class Detail extends React.Component {聲明了一個新的react組件。React組件可以像一個頁面那么大也可以像一個html標簽那么小,很靈活。
  • render() {render方法會在組件需要顯示出來時被react調用,它需要返回html標簽。
  • 剩下的只是大括號用來結束render和組件class。
  • export default Detail; export關鍵字使這個組件有一個接口暴露在外以供應用調用,default表示這個接口是這個class唯一會暴露的接口。

這個例子把所有的jsx寫在了一行,不過我們很快就會寫很多行jsx進去了,多行jsx會有一個特性你需要知道,jsx會自動處理行與行之間的空格,所以如果你按照例子走,但是發現有些行與行中間的空格不見了,你可以試著把空格寫在一行。
寫完上面的代碼后,我們并沒有得到什么有意義的結果,下一章我們來寫……

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

推薦閱讀更多精彩內容

  • 原教程內容詳見精益 React 學習指南,這只是我在學習過程中的一些閱讀筆記,個人覺得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,860評論 1 18
  • 我們的代碼還沒有任何輸出,因為還沒有讓index.js包含我們的Detail.js。修改index.js包含以下代...
    誅諾閱讀 692評論 0 0
  • 原文地址:Learning React.js is easier than you think原文作者:Samer...
    sunshine小小倩閱讀 4,242評論 3 41
  • 以下內容是我在學習和研究React時,對React的特性、重點和注意事項的提取、精練和總結,可以做為React特性...
    科研者閱讀 8,291評論 2 21
  • 二月二啦,龍抬頭,象征萬物的復蘇,代表著氣溫的上升,預示著新的一年真正的開始。很多人也許還沒有從年味里走出來,不愿...
    呆杲閱讀 269評論 0 0