你好,我是王沛。

如果你留心的话,会发现我在这个专栏中,写得最多的一句话就是“如果我们从本质上来看”。没错儿,从本质出发思考问题,是我写这个专栏的初衷,也是我认为学习React Hooks 的正确打开方式。

所以在专栏的结束语这一篇,我就来和你聊聊“本质”这个话题。不过在聊“本质”这个略微有点虚的话题之前,我想先聊聊“认真”。因为在我看来,只有以一种认真的态度去做事,才能更好地深入到本质。在这里,我先分享一个我自己亲身经历的故事吧。

凡事须认真,方能有收获

我刚毕业时,有一次和一位前辈聊天,他说:“让我在公司混日子,我是做不到的。要么全力以赴,要么立马走人。”当时听到这话还挺震撼的,因为我总觉得这话说的就是我。

我当时所在的公司是知名外企,但同时也是别人口中的养老大厂。而自己做的事情,就是按部就班地完成任务。做得好与不好,似乎并不重要。感觉只要自己的技术能力还在,那么遇到棘手的问题,临时抱佛脚,突击一下也能解决。这好像是自己最有成就感的时候了。

但等一两年后,眼看着周围的同事一个个升职加薪,或者另寻高就。再看看自己,似乎还在原地踏步,工作氛围也是一片祥和。这才让我明白一个道理,“完成”和“认真完成”,在结果上有质的差别

而长期来看,在职业的发展上,甚至可以造成不可逾越的鸿沟。所以当你以为你用一段轻松的时光,换取了一份不错的收入,但实际上,错失的就是一个个快速成长的机会。

那么所谓的“认真”,在我看来,其实就是让自己保持一种在不断思考的状态,不是按部就班、没有想法地做事,而是主动思考问题。

抓住本质,让复杂事情简单化

我在面试与React相关的候选人时,都会问他们这样一个问题:为什么 Facebook 要发明 React Hooks?React Hooks 解决了什么问题?

这个问题其实不难,但凡对 React Hooks 有点了解,都可以说出个所以然来。比如,让代码更简洁、让代码更易维护、让开发效率更高,等等。

然而从这些回答中你会发现,这些候选人对 React Hooks 的理解还停留在表面,没有深入到本质。当然,如果你认真学完了我们这门课,答案其实也很简单:简化了逻辑重用

你可能会说,不去深究本质这样的问题,我照样能把 Hooks 用得很不错。

的确,当我们突然拿到一个临时的开发任务,或者要使用一个之前不熟悉的技术时,也许看下官方文档,就能解决当下的问题了。但是我想强调的是,理解了本质,你就相当于找到了问题之源,可以以不变应万变。

正如影片《教父》中那句广为人知的台词:“在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。”

同样地,能抓住React Hooks的本质,就能把复杂问题简单化,事半功倍。具体来说,抓住React Hooks的本质,至少能让你收获如下三方面的好处。

首先,能把 Hooks 用在更加正确的场景。如果只是停留在API形式上的使用,那么写出来的代码可能就不是很合适。如果等发现不合适再去修改,那浪费的精力就太多了。

其次,了解了本质,我们就能非常准确地知道这个Hook解决问题的出发点是什么,与原来方案相比有什么不同,从而提升开发效率。

事实上,当我们学习任何一个前端技术,也是一样的道理。从本质出发,帮助我们构建自己的知识体系,进而形成对技术的敏锐判断力。

要知道,在“轮子”层出不穷的前端圈,如何选择合适的技术就显得尤为重要。因为我们一直面临着这样的问题:这个新技术能解决什么问题?它的优缺点是什么?给项目带来的利多,还是弊多?我们到底该不该用?

而要回答诸如此类的问题,就需要我们洞察不同技术的本质,形成自己的判断,避免随波逐流。可以这样说,我们要学会看技术不是技术,而是要看其背后的思想和逻辑。再进一步,我们也就能够举一反三,用一套体系灵活应对不同的功能场景了。

多问为什么,帮你发现问题的本质

说了这么多关于本质的理解,那么到底怎么才能深入本质呢?这里想和你分享我从写专栏收获的一些心得。

对我个人而言,写完专栏,算是了了自己的一桩心愿。因为在我的脑海里,一直有一个关于 Hooks 课程的大概模样:不止是介绍 API 及其用法,而是更多地从本质出发,深入思考每一个API设计背后的思想和逻辑。当然,理想总是清晰且美好的。

在真正下笔的那一刻,才发现“教”远比“学”要艰难得多。我需要从教学的视角出发,不仅要呈现“是什么”,还要讲出“为什么”:

通过不断追问为什么,来逐渐把握所要讲述的问题的本质。所以在我看来,深入本质,就是要非常朴实地去追问几个为什么。通过不断询问自己一个又一个为什么,我们就能更好地思考问题,从而获得更为深刻的洞察力。

所以在这门课的最后,我想说,学习没有捷径,只有通过多实践,多思考,才能获得高倍速地成长。所谓的躺平,那只是自嘲而已。

最后的最后,我也为你准备了一份毕业问卷,题目不多,希望你可以花一到两分钟填一下。十分期待能听到你的反馈,说说你对这门课程的想法和建议。