根本就没有所谓的React开发者 — 永远不要这样称呼自己。
这是许多软件开发者犯的一个巨大错误,浪费了你大量时间。
专注于工具而非概念。忽视了大局。
React只是一个JavaScript工具。JavaScript只是一个计算工具。计算只是一个解决问题的工具。
当我刚开始编码时,我痴迷于各种语言及其特定的语法和API。
事实上,一旦遇到一个小小的学习障碍,我就会切换到一种新的语言,期望情况会有所不同。然后一次又一次。
没有意识到每种语言在根本上都是相同的,都建立在相同的核心概念之上!
输入处理输出存储。
选择、序列、迭代。
数据和操作:创建、读取、更新、删除("一切都是CRUD")。
分而治之:模块、函数、面向对象编程...
没有任何编程语言不是基于这些核心概念的。这些才是你应该关注的。
这些是计算的抽象基础 — 也是问题解决的一般基础。
这就是为什么一旦学会了一种语言,学习任何新语言都变得如此容易。
对于我们的自然语言也是一样 — 它们是与其他人交流的工具。
比如我现在正在学习英语,我看到了在英语和其他每种语言中都能找到的清晰核心组成部分:
词类:名词、动词和时态等。
语法规则和特性
发音和口音
文化习语和俚语:你永远不会在正式场合学到这些。
对于框架来说也是一样。
一些开发者过于纠结于React-Vue-Angular的具体细节,而不是专注于基础:
组件和生命周期:分而治之
状态和更新:数据流和操作
单页应用路由:导航等
渲染:插值、条件等
我犯的另一个错误是反复阅读C++书籍,生怕"忘记"那些重要的字符串函数。
当你可以轻松在Google上查找API细节时,为什么要担心呢?
如果某些东西真的很重要,需要随时记住 — 比如useEffect
— 当你多次搜索和使用它时,最终会自然而然地记住。
因为遗忘是一个特性,而不是缺陷。
这就像我们许多人在学校里被教授各种无用/深奥的知识。
而不是在现实世界中取得成功的基本知识和技能:
如何学习、思考和解决问题
社交技能:谈判、同理心、倾听等
财务技能:职业决策、现金流管理、投资等
如何通过设定目标和定义个人价值观来获得人生满足感
编程是思考,而不是打字。
你用来将思想转化为现实的工具,比起在你大脑中产生这些思想来说,并不那么重要。
最后:
CSS技巧与案例详解
vue2与vue3技巧合集
VueUse源码解读