react真的好用嗎?

公司項目用react開發。我是用angular的,最開始從jQuery操作到學angular,我感覺angular簡直顛覆了我的世界觀,熟悉了angular後開始接觸react後,我發現我不像是前端。jsx的難以理解。react的操作讓我覺得太反人類了?有沒有人能告訴我,為什麼前端要有後端的開發模式?我不算是一個正統前端,培訓班出生的,對於這前端理解是越來越不明白,前輩們能說下react你們真的喜歡?


JSX不是HTML,styling不是嚴格的CSS,Component離未來的Web Component很遠,雙向綁定狀態要自己維護,從易用的角度來說React並不優秀,傳說的性能也未必,對大型項目,DOM tree比較大,virtual DOM的性能也未必如所廣告的這麼快。React Native的開發效率對沒有Native基礎的人也並不高。


一萬個讀者有一萬個哈姆雷特,你看上方評論就知道了,那麼怎麼知道哈姆雷特到底怎麼樣呢?

去做那個讀者


想用好react,還是配合好react全家桶吧。否則就一個react並沒有什麼卵用。

react現在一般都是配合上redux使用,其實我個人還是挺喜歡這種模式的,數據決定視圖渲染,純函數思想在構建大型應用時還是很有用的。

一開始我也不喜歡jsx,用了一段時間之後,發現其實蠻好用的。這其中無非就是一個適應的問題,其實並沒有什麼顛覆性的東西。

另外現在angular2和官方標配的rxjs也是不錯選擇,vue配合vuex也是一個不錯的解決方案,題主可以都體會下,看看自己喜歡哪個,選擇哪個就行了。也沒必要把自己綁死在react上


React要配合Redux和Immutable一起用才能體現優勢,什麼JSX,Component那些屬於細枝末節。最終目的是用上各種從函數式語言偷來的精髓來做可以無限複雜但代碼不會寫成屎並且跑起來不會卡成狗的UI。我敢保證這會再一次顛覆你的世界觀(我也是從jQuery-&>Angular這個路線來的)。不過在此要安利一下Vue + Vuex這個組合,我覺得算是更好用的React + Redux。


問:react真的好用嗎?

答:react真的好用,而且非常好用。

React無疑是這幾年來對前端改變最大的一次,把它的出現稱之為前端的革命都不足為過。

React改變了前端寫代碼的方式,甚至於我們對前端的認識。

當然,我這裡說的不僅僅只是react本身,react是一個強大的生態圈,光靠react一個人的力量是不夠的,所以,它帶上了它的生態圈。webpack, redux,bable 等等等等。

另外說一句,JSX非常好用。

如果題主對這個問題還是充滿疑惑的話。

不妨看看我的這個開源項目,應該能夠讓你更多的了解到react這種開發模式。

https://github.com/bodyno/react-starter-kit


通過比較可以看到,jQuery插件方式,開發者首先需要考慮控制項第一次Render出來時的DOM構建;其次,需要知道如何切換UI上的選中狀態。而React的方式,開發者僅僅需要考慮整體界面的DOM構建,不再需要關心局部更新,每次在一個React的Component上調用setState方法,都會觸發render來重建整個界面。從開發思想的角度看,你可以認為每次數據的更新都會做整體的完全刷新。邏輯簡單而直接。React是一個全新思路的前端UI框架,它完全接管了UI開發中最為複雜的局部更新部分,擅長在在複雜場景下保證高性能;同時,它引入了基於組件的開發思想,從另一個角度來重新審視UI的構成。通過這種方法,不僅能夠提高開發效率,而且可以讓代碼更容易理解,維護和測試。黑板報


virtualdom沒問題

react是庫想用就用不用也ok

jsx肯定是屎

舉個例子 ios客戶端有xib (xml)拖拉控制項整ui的 我都是讓美工ib上自己整 嘿嘿

也有代碼操縱的

可沒代碼操縱xml的

項目一大亂得一逼

前端還是虛心學習客戶端的思路

前端那些工程化技術 客戶端就是個ide

組件化?客戶端誰rn/react這麼玩 大項目必然一超級麻團

這是javaserver的玩法 還的是銀行專用

react native

跨平台?樂了 幾乎所有跨平台都是做簡單或者玩具app的

ios的uitableview就是大關 這還是ct平台的第二複雜的ui控制項

跨平台qt delphi都甩rn很很很遠 嘿嘿

一直覺得react是fb要下崗的php程序員亂搞的

把簡單事情搞複雜讓自己看起來更專業

也是種活法


樓主用過angular2么,和react對比一下,和angular也對比下


推薦閱讀:

如何評價 Ant Design 分享的『字型大小選擇』背後的數學/物理規律?
Apache2 協議中的專利條款和 Facebook 的 BSD 協議附加的專利條款有什麼本質區別?
Web中的渲染指什麼?
react中出現的"hydrate"這個單詞到底是什麼意思?
react中的this指向?

TAG:前端開發 | React |