React學習筆記-JSX
React 是一個用於構建使用者介面的 JAVASCRIPT 庫。React 主要用於構建UI,很多人認為 React 是 MVC 中的 V(檢視)。React 起源於 Facebook 的內部專案,用來架設 Instagram 的網站,並於 2013 年 5 月開源。React 擁有較高的效能,程式碼邏輯非常簡單,越來越多的人已開始關注和使用它。 |
React 使用 JSX 來替代常規的 JavaScript。
JSX 是一個看起來很像 XML 的 JavaScript 語法擴充套件。
我們不需要一定使用 JSX,但它有以下優點:
- 1.JSX 執行更快,因為它在編譯為 JavaScript 程式碼後進行了最佳化。
- 2.它是型別安全的,在編譯過程中就能發現錯誤。
- 3.使用 JSX 編寫模板更加簡單快速。
我們先看下以下程式碼:
const element = <h1>Hello, world!</h1>;
這種看起來可能有些奇怪的標籤語法既不是字串也不是 HTML。
它被稱為 JSX, 一種 JavaScript 的語法擴充套件。 我們推薦在 React 中使用 JSX 來描述使用者介面。
JSX 是在 JavaScript 內部實現的。
我們知道元素是構成 React 應用的最小單位,JSX 就是用來宣告 React 當中的元素。
與瀏覽器的 DOM 元素不同,React 當中的元素事實上是普通的物件,React DOM 可以確保 瀏覽器 DOM 的資料內容與 React 元素保持一致。
要將 React 元素渲染到根 DOM 節點中,我們透過把它們都傳遞給 ReactDOM.render() 的方法來將其渲染到頁面上:
React 例項
var myDivElement = <div className="foo" />; ReactDOM.render(myDivElement, document.getElementById('example'));
注意:
由於 JSX 就是 JavaScript,一些識別符號像 class 和 for 不建議作為 XML 屬性名。作為替代,React DOM 使用 className 和 htmlFor 來做對應的屬性。
JSX 看起來類似 HTML ,我們可以看下例項:
ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') );
我們可以在以上程式碼中巢狀多個 HTML 標籤,需要使用一個 div 元素包裹它,例項中的 p 元素新增了自定義屬性 data-myattribute,新增自定義屬性需要使用 data- 字首。
React 例項
ReactDOM.render( <div> <h1>Linux就該這麼學</h1> <h2>歡迎學習 React</h2> <p data-myattribute = "somevalue">這是一個很不錯的 JavaScript 庫!</p> </div> , document.getElementById('example') );
你的 React JSX 程式碼可以放在一個獨立檔案上,例如我們建立一個 helloworld_react.js 檔案,程式碼如下:
ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') );
然後在 HTML 檔案中引入該 JS 檔案:
React 例項
<body> <div id="example"></div> <script type="text/babel" src="helloworld_react.js"></script> </body>
我們可以在 JSX 中使用 JavaScript 表示式。表示式寫在花括號 {} 中。例項如下:
React 例項
ReactDOM.render( <div> <h1>{1+1}</h1> </div> , document.getElementById('example') );
在 JSX 中不能使用 if else 語句,但可以使用 conditional (三元運算) 表示式來替代。以下例項中如果變數 i 等於 1 瀏覽器將輸出 true, 如果修改 i 的值,則會輸出 false.
React 例項
ReactDOM.render( <div> <h1>{i == 1 ? 'True!' : 'False'}</h1> </div> , document.getElementById('example') );
React 推薦使用內聯樣式。我們可以使用 camelCase 語法來設定內聯樣式. React 會在指定元素數字後自動新增 px 。以下例項演示了為 h1 元素新增 myStyle 內聯樣式:
React 例項
var myStyle = { fontSize: 100, color: '#FF0000' }; ReactDOM.render( <h1 style = {myStyle}>Linux就該這麼學</h1>, document.getElementById('example') );
註釋需要寫在花括號中,例項如下:
React 例項
ReactDOM.render( <div> <h1>Linux就該這麼學</h1> {/*註釋...*/} </div>, document.getElementById('example') );
JSX 允許在模板中插入陣列,陣列會自動展開所有成員:
React 例項
var arr = [ <h1>Linux就該這麼學</h1>, <h2>學的不僅是技術,更是夢想!</h2>, ]; ReactDOM.render( <div>{arr}</div>, document.getElementById('example') );
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2744235/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- <react學習筆記(2)>JSX語法和樣式的設定React筆記JS
- react學習筆記React筆記
- react 學習筆記React筆記
- react學習系列之深入jsxReactJS
- React 學習筆記【一】React筆記
- React 學習筆記【三】React筆記
- React 學習筆記【二】React筆記
- React學習筆記-元件React筆記元件
- react學習筆記2React筆記
- React 學習筆記 – 元素React筆記
- React學習筆記 – 元件React筆記元件
- 學習React,從攻克JSX開始ReactJS
- React Native 中的JSX學習React NativeJS
- React Hooks的學習筆記ReactHook筆記
- React學習筆記1—起步React筆記
- react小書學習筆記React筆記
- react-redux學習筆記ReactRedux筆記
- 超級詳細的react筆記(三)jsxReact筆記JS
- React入門指南(學習筆記)React筆記
- React生命週期學習筆記React筆記
- React學習筆記-列表 & KeysReact筆記
- React學習筆記-條件渲染React筆記
- React學習筆記-State(狀態)React筆記
- React學習筆記-事件處理React筆記事件
- react native學習筆記(一)React Native筆記
- react native學習筆記(三)React Native筆記
- react native學習筆記(二)React Native筆記
- React Native框架探索學習筆記React Native框架筆記
- React學習筆記知識點整理React筆記
- React學習筆記1:環境搭建React筆記
- “React元件間通訊”學習筆記React元件筆記
- <react學習筆記(1)>認識react和環境搭建React筆記
- React學習手冊-React執行機制筆記(二)React筆記
- 《深入react技術棧》學習筆記(三)漫談ReactReact筆記
- React學習筆記2:React官方CommentBox實踐React筆記
- Redux 進階 – react 全家桶學習筆記(二)ReduxReact筆記
- Redux 進階 - react 全家桶學習筆記(二)ReduxReact筆記
- Redux 基礎 - react 全家桶學習筆記(一)ReduxReact筆記