和他们的老大哥同行之间的最大区别是他们已经摆脱了虚拟 DOM。他们可能会放弃一两个方法。但总的来说,在处理代码的方式上,它们是相同的方法和相同类型的 API,而且它们要小得多。 克里斯:我认为我们使用的许多工具对于我们想要做的事情来说可能过于强大。如果您需要基于状态的 UI 并且需要反应性数据和这些动态界面,那就太好了。我认为我今天尝试谈论的最重要的事情之一不是……永远不要使用工具。对我来说,Vanilla JS 并不是你手写的每一行代码和你所做的每个项目。这太疯狂了。我不能那样做,我不那样做。但它对我们使用的工具更具选择性。我们总是选择多功能工具,瑞士军刀,里面有所有这些东西。
有时您真正需要的只是把剪刀您不需
要所有其他东西,但无论如何我们都有。 克里斯:很抱歉,要回答你的问题还有很长的路要走。有时,它的代码量比您自己可以或想要编写的代码量要多,但它并没有 阿尔巴尼亚移动数据库 我认为我们认为需要的那么多。当我说你不需要框架时,我得到了很多关于这个想法的反对,“好吧,如果你不使用框架,那么你基本上是在编写自己的框架。” 那么这就带来了它自己的问题。我认为在使用 React 或 Vue 和编写自己的框架之间存在一个位置,并且可能会选择更小的东西。有时,根据您想要做什么,编写自己的框架实际上可能是正确的选择。这一切都非常不稳定和主观。 德鲁:非常有趣的是,作为学习练习,您实现了自己的基于状态的框架。
我记得过去我曾经认为每
次我伸手去图书馆或其他东西时,我喜欢认为我可以自己实现它。 克里斯:一定一定。 德鲁:但去图书馆让我省去了这样做的麻烦。我知道如果我必须自己编写这 BZ列表 段代码,我知道我会采取什么方法来完成它。一直到使用 jQuery 之类的东西都是如此。如今,我想如果我必须编写自己的 Vue 或 React 版本,我几乎不知道该库中所有代码中现在发生了什么。 德鲁:对于我们这些不熟悉的人来说,当你说像 Preact 放弃虚拟 DOM 并使一切变得更小这样的东西时,虚拟 DOM 给我们带来了什么? 克里斯:为了回答这个问题,我想稍微退一步。框架和其他基于状态的库为您提供的最好的东西之一就是 DOM diffing。如果您并没有真正更新 UI 太多,您可以这样说:“这是标记应该是什么样子的字符串。