React:"don't fuck it up like Google did with Angular"

React 核心開發(fā)人員 sebmarkbage 大神在 GitHub 開了個 issues寒亥,用來征詢社區(qū)對 JSX 2.0 的建議扁掸。

ReactJS VS AngularJS

到底增加(改動)了什么呢棕洋?

  • #4 - 不對屬性和文本中的 HTML 轉(zhuǎn)義標識進行轉(zhuǎn)義
  • #21 - 屬性支持表達式
  • #23 - 傳參時使用對象簡寫表示
  • #25, #51, #64 - 屬性是單一符號或有小括號時税产,大括號可以省略

而且還包括了:

  • #39 - 隱式 do 表達式
  • #35 - Drop implicit text content and curlies as children.
  • #66 - 自定義屬性命名空間

用過 React 的開發(fā)者都知道辐益,React 的理念就是 All In Javascript祭示,是徹徹底底的 javascript 中心論肄满。

之前我們都是直接把 javascript 寫在 HTML里面,后來又覺得這樣不利于維護质涛,也不符合編程領(lǐng)域中“低耦合”的理念稠歉,重新梳理前端:HTML 是數(shù)據(jù),CSS 是表現(xiàn)汇陆,javascript 是行為怒炸。因此我們都是把 javascript 寫在單獨的文件,然后在 HTML 中引用毡代。

但是 facebook 的工程師不僅不讓我們在 HTML 中寫 javascript阅羹,反而讓我們在 javascript 總寫 HTML。而且 facebook 的工程師并沒有因此止步教寂,他們在 React 文檔中又告訴開發(fā)者捏鱼,不僅僅要把 html 寫到 javascript 中,css 也應(yīng)該寫到 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 標簽,例如:

<if {myCondition}>
 <div>This part only gets shown if myCondition is true</div>
</if>

這種提議也不樂觀北专,28 贊同禀挫,296 反對旬陡。(我也點了反對)

隨后拓颓,@kevinsimper 回答了他們的問題,解決問題的方式不是 JSX 的標簽描孟,而是使用 javascript 的短路邏輯運算符驶睦,再一次體現(xiàn)了 React 的 JS 中心論:

{ somethingTrue &&
<div>Will only show if somethingTrue is true</div>
}


@bjrmatos 的回復(fù)博得了眾人的喝彩:

> @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 自定義語法场航,也不應(yīng)該影響這種好處,即使最終實現(xiàn)看起來有一些怪異廉羔。(原文中提到的 IMO 是不是就是 In My Opinion 的意思溉痢?)

之后的討論依然激烈并精彩,終于 @nkkollaw 回復(fù)到:

> Don't fuck it up like Google did with Angular 2, keep the thing compatible with older versions...

不要他媽的像 Google 升級 Angular 2 一樣啊憋他,能不能保持舊版本的兼容啊

@mstijak 在評論中又提出另一個屬性綁定寫法:

> ```
<input type="text" value:bind="firstName">

我的天哪孩饼!,好不容易 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嘁酿,更是在濱河造成了極大的恐慌隙券,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闹司,死亡現(xiàn)場離奇詭異娱仔,居然都是意外死亡,警方通過查閱死者的電腦和手機游桩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門牲迫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人借卧,你說我怎么就攤上這事盹憎。” “怎么了铐刘?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵陪每,是天一觀的道長。 經(jīng)常有香客問我镰吵,道長檩禾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任疤祭,我火速辦了婚禮盼产,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勺馆。我一直安慰自己戏售,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布草穆。 她就那樣靜靜地躺著灌灾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪续挟。 梳的紋絲不亂的頭發(fā)上紧卒,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音诗祸,去河邊找鬼跑芳。 笑死,一個胖子當著我的面吹牛直颅,可吹牛的內(nèi)容都是我干的博个。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼功偿,長吁一口氣:“原來是場噩夢啊……” “哼盆佣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤共耍,失蹤者是張志新(化名)和其女友劉穎虑灰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痹兜,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡穆咐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了字旭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片对湃。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遗淳,靈堂內(nèi)的尸體忽然破棺而出拍柒,到底是詐尸還是另有隱情,我是刑警寧澤屈暗,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布拆讯,位于F島的核電站,受9級特大地震影響恐锦,放射性物質(zhì)發(fā)生泄漏往果。R本人自食惡果不足惜疆液,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一一铅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧堕油,春花似錦潘飘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至眶明,卻和暖如春艰毒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搜囱。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工丑瞧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蜀肘。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓绊汹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扮宠。 傳聞我的和親對象是個殘疾皇子西乖,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容