摘要:核心開發人員大神在開了個,用來征詢社區對的建議。而且的工程師并沒有因此止步,他們在文檔中又告訴開發者,不僅僅要把寫到中,也應該寫到中。無論怎么使用自定義語法,也不應該影響這種好處,即使最終實現看起來有一些怪異。
React 核心開發人員 sebmarkbage 大神在 GitHub 開了個 issues,用來征詢社區對 JSX 2.0 的建議。
到底增加(改動)了什么呢?
#4 - 不對屬性和文本中的 HTML 轉義標識進行轉義
#21 - 屬性支持表達式
#23 - 傳參時使用對象簡寫表示
#25, #51, #64 - 屬性是單一符號或有小括號時,大括號可以省略
而且還包括了:
#39 - 隱式 do 表達式
#35 - Drop implicit text content and curlies as children.
#66 - 自定義屬性命名空間
用過 React 的開發者都知道,React 的理念就是 All In Javascript,是徹徹底底的 javascript 中心論。
之前我們都是直接把 javascript 寫在 HTML里面,后來又覺得這樣不利于維護,也不符合編程領域中“低耦合”的理念,重新梳理前端:HTML 是數據,CSS 是表現,javascript 是行為。因此我們都是把 javascript 寫在多帶帶的文件,然后在 HTML 中引用。
但是 facebook 的工程師不僅不讓我們在 HTML 中寫 javascript,反而讓我們在 javascript 總寫 HTML。而且 facebook 的工程師并沒有因此止步,他們在 React 文檔中又告訴開發者,不僅僅要把 html 寫到 javascript 中,css 也應該寫到 javascript 中。
我個人比較喜歡 all in javascript。至于原因以后再寫文章討論,這個不是今天的重點。
下面進入今天的話題:
JSX 里面不能寫條件語句,只能用 JS 的三目運算符,因為有人(@mohsen1)建議,為 JSX 增加類似 ng-if 的功能,或者直接使用Angular 2 的 *if 也行:
Something like Angular ng-if would be nice to have in JSX. Making rendering of an element conditional is not easy in JSX. Maybe adopt Angular 2 *if
截至我寫此文時,這個建議收到了 32 個贊同 和 324 個反對。(我也點了反對)
而對于此問題,@lacker 也提到了另一種解決方案,增加 if 標簽,例如:
This part only gets shown if myCondition is true
這種提議也不樂觀,28 贊同,296 反對。(我也點了反對)
隨后,@kevinsimper 回答了他們的問題,解決問題的方式不是 JSX 的標簽,而是使用 javascript 的短路邏輯運算符,再一次體現了 React 的 JS 中心論:
{ somethingTrue &&Will only show if somethingTrue is true}
@bjrmatos 的回復博得了眾人的喝彩:
@mohsen1 "It"s just JavaScript, not a template language" -> no need to replicate JS functionalities with custom syntax. That is the main benefit of JSX IMO, seriously is so easy to do this with js even if it looks "weird" (for me it is not weird, it is just the syntax of the language)
簡單翻譯過來就是:JSX 只是 javascript 語法的擴展,而不是一種模板語言。無論怎么使用JSX 自定義語法,也不應該影響這種好處,即使最終實現看起來有一些怪異。(原文中提到的 IMO 是不是就是 In My Opinion 的意思?)
之后的討論依然激烈并精彩,終于 @nkkollaw 回復到:
Don"t fuck it up like Google did with Angular 2, keep the thing compatible with older versions...
不要他媽的像 Google 升級 Angular 2 一樣啊,能不能保持舊版本的兼容啊
@mstijak 在評論中又提出另一個屬性綁定寫法:
我的天哪!,好不容易 JSX 不像 Angular 了,突然又變成了 vue。
后面的討論漸漸趨于平和,此時 @xpagesbeast 說到
JavaServer Faces (JSF) Expression language has stood the test of time, JSX is a very similar new kid on the block
我去!!你們討論 Angular,討論 Vue,討論 jQuery 也就算了,這個 JSF 是什么鬼?!
原文太精彩了,感興趣的可以去 github 上圍觀 JSX 2.0 · Issue #65 · facebook/jsx
歡迎關注我的公眾號,關注前端文章:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86650.html
摘要:為位的安裝原文在此基督尼瑪個耶穌這一切始于一個簡單的想法我想裝然后寫個網站并用這個機會多學點和的知識我理所當然的選當數據庫因為在我家里的那臺電腦上裝著之前的一個項目里用到的服務我從沒想到因為選擇讓我接下來的幾個夜晚都因為處理的問題而過的 Install 64-bit MySQLdb for Python 3 on Windows 7 為64位Windows7的Pyhton3安裝MySQ...
摘要:本文僅用于學習和交流目的,不得用于商業目的。今年,我們依然會組織。隨著語言的發展,這種情況將不再適用。本系列主要討論如何獲得這些高度模塊化的應用程序。這一系列內的后續圖書會討論測試及部署等內容。更多精彩,加入圖靈訪談微信 本文僅用于學習和交流目的,不得用于商業目的。非商業轉載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談...
摘要:中的常見寫法先看下這段代碼。聲明式編程,就是告訴機器你想要的是什么,讓機器想出如何去做。最獨特的特性之一,是其非侵入性的響應式系統。的縮寫將遍歷此對象所有的屬性。這一過程被稱為依賴收集。組件的顯示,數據的體現大部分都是由承載,傳遞。 目錄 緣起 Android開發中的常見寫法 JQuery中的常見寫法 命令式編程 聲明式編程 React中的常見寫法 Vue的常見寫法 你肯定熟悉響應...
閱讀 916·2021-11-25 09:43
閱讀 1283·2021-11-17 09:33
閱讀 2999·2019-08-30 15:44
閱讀 3301·2019-08-29 17:16
閱讀 472·2019-08-28 18:20
閱讀 1625·2019-08-26 13:54
閱讀 547·2019-08-26 12:14
閱讀 2166·2019-08-26 12:14