惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
小众软件
小众软件
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 聂微东
Recent Announcements
Recent Announcements
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
云风的 BLOG
云风的 BLOG
量子位
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
博客园 - 司徒正美
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享

Nic Lin's Blog

謝明真 - 高效領導力的課後筆記 NFT 開發實戰!基礎智能合約入門 (3) NFT 開發實戰!基礎智能合約入門 (2) NFT 開發實戰!基礎智能合約入門 (1) 如何自我檢測 log4j CVE 漏洞 Rails 如何在資料寫入時記錄來源 IP 位置 如何經營工程師 Youtube 頻道 - Part 8 營收篇 如何經營工程師 Youtube 頻道 - Part 7 酸民文化篇 如何經營工程師 Youtube 頻道 - Part 5 設備器材篇 如何經營工程師 Youtube 頻道 - Part 4 後製剪輯篇 如何經營工程師 Youtube 頻道 - Part 3 文案企劃篇 如何經營工程師 Youtube 頻道 - Part 2 設備器材篇 如何經營工程師 Youtube 頻道 - Part 1 制訂頻道方向篇 如何經營工程師 Youtube 頻道 - Part 0 Rails 中避免 race condition 的最佳實踐(二) Rails 中避免 race condition 的最佳實踐(一) 10 分鐘整合 google sheet 做自動化開發功能週報 經營 Side Project 300 天所帶來的收穫及挑戰 我的 Youtube 影片製作流程 API 設計時必須注意的 HTTP header 底線問題 如何提升你的程式可讀性之實務技巧(三) 如何提升你的程式可讀性之實務技巧(二) 如何提升你的程式可讀性之實務技巧(一) Ruby 中使用 freeze 優化效能的時機 避免 React 中的 useEffect 無限 render 在 Rails 內輕量使用 Vue Component 的最佳實踐 如何在區域網路用 Docker 架設有 SSL 的 Gitlab 從被問到問人,那些我常問的面試問題 [Rails] 如何漂亮寫出可維護的 query (Maintainable Rails Query) 在已知長度情況下優化 slice 的性能
React 不如想像中好學
Nic Lin · 2016-07-16 · via Nic Lin's Blog

最近因為手上專案進行部分改版,其中一個部份的實作偏向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 碎碎念: 艱困的新手之路