React解決了前端開發中的哪些痛點?
01-21
先總結一下再具體描述吧。主要解決的痛點就是開發者只需要考慮最後應該是什麼狀態。
React Flux 好處都有啥誰說對了就給他 (油管視頻)https://youtu.be/nYkdrAPrdcw- React 使用了 VirtualDOM 的技術,在改變狀態的時候會去 diff 一下原狀態和新狀態來進行一些改變。
- React 簡化了前端工程師的思維,只需要關注「目前的狀態是什麼」而非「我需要做什麼讓頁面變成目前的狀態」。典型的一個對比例子就是 jQuery。
- React 的模塊化大大提升了代碼重用率
- React 跑得快 (這裡就不暴力 xx 了
- React 和 http://socket.io 配合得比較好
- React-router 比你們高到不知道哪裡去了
- 與 Flux 的配合可以達到一旦有數據修改不需要去想修改哪些組件。舉個例子 Facebook 的聊天功能,你一旦點開了一個窗口,那麼就減掉這個新消息提示的數量。而 Facebook 多處存在新消息提示,所以比較 conventional 的方式就是一個個去改。然而 Flux 提供了 Action --&> Dispatcher --&> Store --&> Views 的一個 Single Directional Data Flow,一旦有數據改變我們只要通過 Dispatcher 通知一下 Store 說 「我們這裡 xxx 變了」,然後內部實現去通知所有訂閱者改變消息就行。
1 開發方式:react 通過prop管理組件通信,通過state 驅動視圖比較差異進行更新操作這些我覺得沒有比原生函數的方式解決組件化問題更好的了比較差異更新這個點,大部分項目只需要使用字元串模板全部更新就好了,為了比較差異引入龐大的react.js我覺得划不來2 組件化沒有比原生函數的方式解決組件化問題更好的了其它的我並不覺得還有有什麼優點了痛點1 js文件比較大2 jsx 學習成本 依賴構建工具
理念挺好,用起來還是jq方便....
反正這些東西都能用,項目想玩點花樣,老大說用,可以啊。
但內心話。。。團隊整體實力不夠還是省省吧。簡單寫寫一些個人拙見,對我而言感覺react主要解決的問題:
1.規範化了ui組件庫的開發規範,如可使用es6 class來創建組件類等等。在它之上可以比較容易地構建自定義的ui庫。
2.出自實力雄厚的fb,業界影響力強,周邊生態圈各種工具自然也非常豐富。3.個人比較喜歡它的單向數據流、狀態機設計,使組件可預測易維護。以及我對react現狀的一些覺得不足之處:
1.JSX和js嵌在一起,組件結構和邏輯耦合度強不易維護。2.JSX基本上必須經過編譯,這對有一定前端基礎的人也許不算什麼;但是對一些不擅長前端開發的人群就顯得逼格很高,他們甚至沒聽過什麼是gulp、webpack,不易推廣。3.業界普遍使用webpack打包js運行,所有前端代碼都合到一起讓人想起了多年前的flex和silverlight。至少在web端我個人是對這種運行方式很不喜歡。最近在一個後台項目中適用了一番,傳統PC多頁,,感覺對於表單型應用還是雙向綁定更方便啊,flux view -&> action 的過程需要手動收集view的數據;果然適合自己的才是最好的,任何框架都不可能同時解決所有人的痛點。
由於 React 的設計思想極其獨特,屬於革命性創新,性能出眾,代碼邏輯卻非常簡單。所以,越來越多的人開始關注和使用,認為它可能是將來 Web 開發的主流工具。這個項目本身也越滾越大,從最早的UI引擎變成了一整套前後端通吃的 Web App 解決方案。衍生的 React Native 項目,目標更是宏偉,希望用寫 Web App 的方式去寫 Native App。React 這麼熱門,看上去充滿希望,當然應該好好學一下。從技術角度,可以滿足好奇心,提高技術水平;從職業角度,有利於求職和晉陞,有利於參與潛力大的項目。但是,好的 React 教程卻不容易找到,這一方面因為這項技術太新,剛剛開始走紅,大家都沒有經驗,還在摸索之中;另一方面因為 React 本身還在不斷變動,API 一直在調整,但是我們還是可以嘗試的:React 入門實例教程
React 解決的問題主要問題分為以下幾點:
1.解決了跨平台瀏覽器支援不同的問題: 瀏覽器的實作是由各公司基於制定的標準進行實作,不同公司會有不同的實作方法。最明顯的其中一個就是event。React整合了各種event提供了一個可重複利用綁定方式。 2.提供了一個可以開發大型網頁程式的同時,確保開發程式的可維護度與可讀性:React標榜著與html類似的jsx格式,意味著某種程度上可以從簡單的Tag上看出整個網頁架構。 3.React最主要的貢獻也就是提供了一個元件的概念:可以想像為擴充了一個DOM的Tag,意味著工程師可以已更直覺、可讀的方式建立一個可重複利用的元件。假設一間公司有橫跨了整個公司的設計風格,那某種程度上公司網頁上的各個部分就可以做為元件,根據不同的需求給予不同的參數,便可以達到重複利用元件的效果。撇開可重用的部分,光是能夠讓程式碼變得易讀且漂亮就足夠吸引人了。反而是作為React最開始的賣點Virtual DOM的概念已經越來越少人提及了,現在實作Virtual DOM的框架實在太多。廣大js愛好者可以無台階的開發app上架商店造福人類了。RN的版本升級太快了,bug也比較多,比較適合小打小鬧的app,例如我剛做的
http://www.weichuanghome.com/repayment/repayment.html (二維碼自動識別)
入門難度增加了,工資也要增加。
這是個好問題。
組件化,virtualdom
angularjs 和react 都用了一段時間, 覺得react最大的好處是寫出的前端邏輯清晰 頁面component切換邏輯非常容易理解..這是寫複雜交換頁面的最大痛點.. 個人經歷過的項目一個頁面server段cshmtl 2000多行 html 加 3000多行js 邏輯混在一起根本不知道改一行代碼會改變多少相關邏輯..
vdom 好於傻逼的模板, {{foreach "a in ax"}} &<&> {{ endf }}這種東西很挫逼,
vdom 把數據綁定也捎上了. PS. 如果 ReactJS 像 ng2一樣是用 ts 寫的, 會好的多的多.以前這個叫html語義化,也就是看這個標籤就知道幹嘛的是頭部啊,還是橫向布局豎向布局啊。React我看最大的特點可能就是組件化了,這相比其他Web Components實現更 接地氣,兼容性要好很多.對於複雜web application來說,組件的維護性,抽象性上了個層次.至於虛擬dom啥的,也並不是什麼高科技本質上就是把一堆div,span等標籤組合起來叫了一個名字,這個名字一看你就知道是幹嘛的
個人感覺最牛叉的地方應該是虛擬DOM的出現吧。。。減少重繪和迴流吧
推薦閱讀:
分頁阅读: 1 2