"React"開發(fā)者并不存在
根本就沒有所謂的React開發(fā)者 — 永遠不要這樣稱呼自己。
這是許多軟件開發(fā)者犯的一個巨大錯誤,浪費了你大量時間。
專注于工具而非概念。忽視了大局。
React只是一個JavaScript工具。JavaScript只是一個計算工具。計算只是一個解決問題的工具。
當我剛開始編碼時,我癡迷于各種語言及其特定的語法和API。
事實上,一旦遇到一個小小的學習障礙,我就會切換到一種新的語言,期望情況會有所不同。然后一次又一次。
沒有意識到每種語言在根本上都是相同的,都建立在相同的核心概念之上!
- 輸入處理輸出存儲。
- 選擇、序列、迭代。
- 數(shù)據(jù)和操作:創(chuàng)建、讀取、更新、刪除("一切都是CRUD")。
- 分而治之:模塊、函數(shù)、面向?qū)ο缶幊?..
沒有任何編程語言不是基于這些核心概念的。這些才是你應該關(guān)注的。
圖片
這些是計算的抽象基礎 — 也是問題解決的一般基礎。
這就是為什么一旦學會了一種語言,學習任何新語言都變得如此容易。
對于我們的自然語言也是一樣 — 它們是與其他人交流的工具。
比如我現(xiàn)在正在學習英語,我看到了在英語和其他每種語言中都能找到的清晰核心組成部分:
- 詞類:名詞、動詞和時態(tài)等。
- 語法規(guī)則和特性
- 發(fā)音和口音
- 文化習語和俚語:你永遠不會在正式場合學到這些。
對于框架來說也是一樣。
一些開發(fā)者過于糾結(jié)于React-Vue-Angular的具體細節(jié),而不是專注于基礎:
- 組件和生命周期:分而治之
- 狀態(tài)和更新:數(shù)據(jù)流和操作
- 單頁應用路由:導航等
- 渲染:插值、條件等
我犯的另一個錯誤是反復閱讀C++書籍,生怕"忘記"那些重要的字符串函數(shù)。
當你可以輕松在Google上查找API細節(jié)時,為什么要擔心呢?
如果某些東西真的很重要,需要隨時記住 — 比如useEffect — 當你多次搜索和使用它時,最終會自然而然地記住。
因為遺忘是一個特性,而不是缺陷。
這就像我們許多人在學校里被教授各種無用/深奧的知識。
而不是在現(xiàn)實世界中取得成功的基本知識和技能:
- 如何學習、思考和解決問題
- 社交技能:談判、同理心、傾聽等
- 財務技能:職業(yè)決策、現(xiàn)金流管理、投資等
- 如何通過設定目標和定義個人價值觀來獲得人生滿足感
編程是思考,而不是打字。
你用來將思想轉(zhuǎn)化為現(xiàn)實的工具,比起在你大腦中產(chǎn)生這些思想來說,并不那么重要。