回覆列表
  • 1 # 使用者9825237039531

    簡單的說,就是React可以最大的程度的發揮js的靈活性來改善HTML(模板)和CSS的僵硬手感。

    比如Vue,上手會很爽,一堆現成的API可以直接用。一般對應的場景去文件翻一翻就能找到。所以通常解決方法比較直觀明確。一開始寫起來會覺得很容易。

    而React則是上手的時候難一些,因為React提供API相比Vue少得多,比如vue中的 v-if,v-for之類的指令需要自行用js實現。

    但好處是,這樣更加靈活,所以寫幾次之後會覺得非常順滑。而因為API少,接下來的學習成本非常少,再也不用記API了。js怎麼搞都行,比指令要靈活和強大。

    還有一點,在jsx裡可以很方便的css in js,直接寫內聯樣式,一般用了元件庫之後自己寫的css會很少。媽媽再也不用擔心我為起className而糾結了。

    再來說一下狀態管理的解決方案。Vue官方就提供了一個很明確的vuex。所以對於vue,一般的狀態管理方案比較單一,而且官方也沒有推薦其他的方案。畢竟對於Vue,資料繫結實現的方案使得其和很多其他狀態管理工具搭配起來顯得不是很搭,合適的只有vuex。對於非同步狀態的管理,vuex給出的方案也很明確。

    而對於React,卻有很多狀態管理類庫。從Redux中衍生出很多非同步解決方案,如redux-thunk, redux-promise , redux-observable , redux-saga 等。同時也有dva,mobx, mirror等框架。Rxjs搭配React也很容易。這樣儘管造成了較高的學習成本,但是也更有意思,更有助於技術的進步不是麼。

    總結

    在React中,js可以通吃模板、邏輯和樣式,而對於vue,則通常要分開成三部分,三個部分要用指令來連線。Vue寫起來總離不開一堆API和指令。而React寫久了,就是全能js的無限組合。更能滿足所謂的『創造欲』吧。

  • 中秋節和大豐收的關聯?
  • 你對nba2018年新秀巴格利怎麼看?