摘要:中基本都使用來開發(fā),但其實是的一種語法糖。但是我們必須知道,本質(zhì)上就是在編譯的時候,會由將轉(zhuǎn)化為。比如生成了比如生成了解的本質(zhì),只需要記住本質(zhì)就是附錄提供的一個在線轉(zhuǎn)換為的地址
react中基本都使用JSX來開發(fā),但JSX其實是javascript的一種語法糖。
什么是語法糖?語法糖就是提供了一種全新的方式書寫代碼,但是其實現(xiàn)原理與之前的寫法相同。
語法糖可以說是廣泛存在于各種計算機代碼中,包括C語言中的a[i]其實就是*a+i的語法糖。而今天對于我們來說,a[i]其實已經(jīng)很普遍和常用了,所以也沒有人提這是語法糖這回事了。因為終極來說,所有語言都是匯編語言的語法糖:)
簡單說,JSX是一種更簡便書寫javascript的方式
由于DOM結(jié)構(gòu)被我們寫到了javascript文件里,由javascript來生成DOM結(jié)構(gòu)
如果一直使用javascript來寫DOM結(jié)構(gòu),那么render函數(shù)里就是一堆React.createElement
這樣既不美觀也不實用。
但是我們必須知道,JSX本質(zhì)上就是javascript
在編譯的時候,會由babel將JSX轉(zhuǎn)化為javascript。
比如
222 333
生成了
"use strict"; React.createElement("div", { className: "aaa" }, React.createElement("span", null, "222"), React.createElement("span", null, "333"));
比如
function Comp(){ returntest}222
生成
"use strict"; function Comp() { return React.createElement("div", { className: "test" }, "test"); } React.createElement(Comp, { className: "test2" }, "222");
了解JSX的本質(zhì),只需要記住:JSX本質(zhì)就是javascript
附錄babel提供的一個在線轉(zhuǎn)換JSX為javascript的地址
https://babeljs.io/repl/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/109432.html
摘要:基于的動態(tài)數(shù)據(jù)綁定歸屬于筆者的與前端工程化實踐中的,本文中設(shè)計的引用資料參考學習與實踐資料索引,如果有對基礎(chǔ)語法尚存疑惑的可以參閱現(xiàn)代開發(fā)語法基礎(chǔ)與實踐技巧。 基于 JSX 的動態(tài)數(shù)據(jù)綁定歸屬于筆者的 React 與前端工程化實踐中的,本文中設(shè)計的引用資料參考 React 學習與實踐資料索引,如果有對 JavaScript 基礎(chǔ)語法尚存疑惑的可以參閱現(xiàn)代 JavaScript 開發(fā):語...
摘要:需要提醒讀者的是,的很多例子都是通過來寫的,但這并不是語法,后面我們會有單獨的一小節(jié)講解的基本語法,不過目前為止我們先將跟多精力放在上。 書籍完整目錄 1.2 JSX 語法 showImg(https://segmentfault.com/img/bVvKLR); 官方文檔 https://facebook.github.io/react/docs/jsx-in-depth.html ...
摘要:但是它與里大部分的概率是保持一致的。但是如何將轉(zhuǎn)換成函數(shù)的調(diào)用呢就是干這件事情的。好了,讓我們看看是如何工作的。下面的圖片在流程圖中高亮了一個組件是如何工作的最后希望這篇文章能幫助你理解是如何工作的至少在中 英文原文鏈接 Virtual DOM很神奇,同時也比較復(fù)雜,難以理解。react,preact和相似的js庫都使用了virtual dom。然而,我找不到任何好的文章或者文檔,可以...
摘要:屬性我們還可以使用來書寫樣式,它會自動幫我們編譯為格式內(nèi)容語法高亮建議使用配合該擴展支持語法高亮擴展開發(fā)項目,當然你可以把文件當作對待。 Omil 是什么? Omil是一個 webpack 的 loader,它允許你以一種名為單文件組件(SFCs)的格式撰寫 Omi 組件: ${this.data.title} export default class { test(){...
閱讀 914·2021-11-22 13:54
閱讀 2843·2021-09-28 09:36
閱讀 2979·2019-08-30 15:55
閱讀 1951·2019-08-30 15:44
閱讀 544·2019-08-29 12:31
閱讀 2563·2019-08-28 18:18
閱讀 1198·2019-08-26 13:58
閱讀 1383·2019-08-26 13:44