吹 React Hooks,垃圾!

广告位招租
扫码页面底部二维码联系

React Hooks 中不乏一些优秀的原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net思想,例如通过第二个参数告知 hooks【本文受版权保护】【本文首发于唐霜的博客】 函数依赖,当依赖发生变化的时候,才会执本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】行对应的处理。这在之前使用 reselect 中早就体验过,不是什么高深的技术。但莫名其妙的,Ho本文作者:唐霜,转载请注明出处。【转载请注明来源】oks 被吹上了天,认为它是下一代数据管本文作者:唐霜,转载请注明出处。【作者:唐霜】理方式,我只想送一个字:呸!

【版权所有,侵权必究】【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net

我唯一觉得 Hooks 有些价值的,是官【转载请注明来源】著作权归作者所有,禁止商业用途转载。方博客中提到一点:有利于打包时,让产出物【本文受版权保护】【转载请注明来源】文件体积更小。这是个事实,因为压缩程序可【转载请注明来源】转载请注明出处:www.tangshuang.net以用 a() 替换一个命名超长的函数,比【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net方 IwillFuckYouReactH【本文首发于唐霜的博客】【版权所有,侵权必究】ooksFunction(),而如果这个转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net函数名是一个 class 的方法名,则无本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net法被优化(理论上是可以被优化的,对于私有原创内容,盗版必究。【转载请注明来源】方法,如果确保知会在当前 class 中未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net使用,那么优化成 _a() 也完全没有问未经授权,禁止复制转载。【转载请注明来源】题,因为外部不可能用到嘛)。而 Reac【本文受版权保护】【未经授权禁止转载】t.Component 的生命周期函数莫转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。名其妙整那么长,刚入门的同学背都要背半天未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。,就是罪魁祸首。

【转载请注明来源】【作者:唐霜】【版权所有,侵权必究】

除此之外,Hooks 一无是处。

转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。

在一些情况下,确实让写的代码量减少了。但【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。是你确定在撰写代码阶段节省的时间,没有在本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。调试阶段还回来?Hooks 是一个异类,【未经授权禁止转载】原创内容,盗版必究。遵循其思想创建的函数叫“状态函数”,就像未经授权,禁止复制转载。【版权所有,侵权必究】 Date.now() 一样,鬼知道它会【转载请注明来源】未经授权,禁止复制转载。返回什么结果。你自认为能控制被隐藏起来的【未经授权禁止转载】【本文受版权保护】状态,因为社区告诉你“你不需要关心状态,本文作者:唐霜,转载请注明出处。原创内容,盗版必究。而是关心什么时候需要产生影响”。我就想说本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】,你确定你不需要关心状态?摸着黑心问一问【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】自己吧。当你需要关心一下的时候,你的状态著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。在哪里?在 React 内部的堆栈中,你【转载请注明来源】【原创内容,转载请注明出处】根本摸都摸不到。

【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】【原创不易,请尊重版权】

而 React 是什么?基于状态的 UI转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】 渲染引擎。社区总结的一句话是“一个状态著作权归作者所有,禁止商业用途转载。【本文受版权保护】对应一个界面”,你现在控制不了状态,然后【版权所有,侵权必究】【原创不易,请尊重版权】跟我说,你可以完全掌控界面的变化。拉倒吧【转载请注明来源】【版权所有,侵权必究】

【本文首发于唐霜的博客】未经授权,禁止复制转载。

我可以不负责任的说:状态是函数的天敌!

本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net

我从来不在一个暴露的函数中使用状态(例如著作权归作者所有,禁止商业用途转载。【作者:唐霜】在函数中引用函数外的变量),虽然偶尔会在【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】函数内创建一个私有函数使用函数内部的一个【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】状态来加快写码,但是我很清楚,这个状态和【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net函数都是用两下就会销毁的。React H【本文受版权保护】本文作者:唐霜,转载请注明出处。ooks 反其道而行,又开心的说,我们拥【未经授权禁止转载】【本文首发于唐霜的博客】抱函数式组建,又诡异的宣称,你可以在函数原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】式组件里面操作和使用状态(但是你拿不到状【转载请注明来源】【本文首发于唐霜的博客】态)。如果你不是经常去看源码,你会严重怀转载请注明出处:www.tangshuang.net【未经授权禁止转载】疑自己是不是进入了童话世界当起反派,明明【转载请注明来源】【作者:唐霜】理想那么美好,为啥我总是干坏事……

【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。

吹吧!下一代主流!

【未经授权禁止转载】未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net

吹吧!最理想的 React 编程方式!

本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。

吹吧!……

【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。
已有3条评论
  1. Louiszen 2022-06-28 19:55

    兄弟,material ui自從由v5開始用hook寫,bug嚴重了,performance又下降了。
    用hook寫的程式碼根本不是人看的,由他們繼續吹吧。

  2. 哈哈怪 2022-01-01 17:31

    兄弟讲的挺好,就看抛弃虚拟 dom 的框架什么时候能成为主流了

    而且按你的想法,solid.js 也是不可取的?

    要不还是写原生吧 webcomponent 也有一些公司在实验性的用了

    • 否子戈 2022-01-07 18:59

      这纯属我一家之言,不要过于纠结。
      现在弃用virtual dom已经是大势所趋了,包括vue3实际上也不是完全的virtual dom了。
      至于web component,怎么说了,它还是component,不是application,想要做应用,还需要更高层的设计,可以看下我写的框架 sfcjs https://github.com/tangshuang/sfcjs