Nic Lin's Blog

喜歡在地上滾的工程師

React 不如想像中好學

最近因為手上專案進行部分改版,其中一個部份的實作偏向Single Web的概念,於是乎在操作一些DOM的情況下選擇嘗試用React實現,在這實作的這一個禮拜內,看了很多文件也用了很多方法實現,其中更別說是大量的地雷無限引爆,對於從來沒學過React想入門的人肯定是一大難題。

我的主觀結論

React 超級難上手。

說說現在JS生態

如果你說React好學易懂超簡單,假的!

對於這些年來在JS大量演進的情況下,現在的前端工程師不外乎要學的工具比以往更多。

- node
- webpack
- Babel + ES6
- ESLint
- Redux

現在的前端實現不再只是CSS寫一寫,寫幾個簡單的JS就可以解決的,人們對於操作上的感覺以及質感更加要求,從以前的跳頁到今天的ajax,再來ajax還要能刷新url,最後要考量大量操作DOM付出的代價以及效能。

如果這些工具都有很好並且統一直覺式的學習,那絕對是沒問題的,但是現在的複雜度以及進化程度,往往documentation是無法跟上這些進度,所以對於新手來說這樣的環境就是不斷踩雷自爆。

Code-Review是最佳學習路徑,但是…

學習新的語言最快的路徑不外乎就是去Review前輩的code,OpenSource的code,StackOverFlow的code,blablabla的Code

想上Stackoverflow找答案?或許不到一年前的answer已經無法在現在的新版本使用,你只能選擇

  1. 退而求其次,退版本採用舊寫法
  2. 堅持跟上浪潮,新版本繼續踩雷

無論你的選擇是哪個,你的下一步是碰到更多工具的選擇以及學習。

如果你要實作

如果你今天要能夠在SeacrhFrom 送出 formData之後刷新URL,在React上你必須還要學習React-router,當你陷進去這個框架你會覺得他博大精深並且深不可測。

如果你要用React的plugin,你必須在你的Ruby on Rails上面掛node nodules,然後要掛node nodules,你就必須裝個webpack或是browserify的gem。

沒有想像中容易,對吧?

小結

學習的路途從來都不是輕鬆的,面對技術不斷創新的今天,你是選擇跟上熱潮,或是找出更好的解決方案?亦或是放棄。

曾經的前端開發是平易近人的,現在學習曲線過於陡峭,雖然身為一個職業的web development應該要能克服這些困難,但是不免在學習上還是會碰到挫折,就來碎碎念一下,如果文章出有任何錯誤的地方,再請您不吝給予指正,謝謝

文章參考 React 碎碎念: 艱困的新手之路

comments powered by Disqus