吹 React Hooks,垃圾!

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

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

【本文受版权保护】【未经授权禁止转载】【作者:唐霜】转载请注明出处:www.tangshuang.net

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

著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】

除此之外,Hooks 一无是处。未经授权,禁止复制转载。

原创内容,盗版必究。【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】【本文受版权保护】

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

未经授权,禁止复制转载。未经授权,禁止复制转载。【未经授权禁止转载】【转载请注明来源】著作权归作者所有,禁止商业用途转载。

而 React 是什么?基于状态的 UI【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。 渲染引擎。社区总结的一句话是“一个状态【作者:唐霜】未经授权,禁止复制转载。对应一个界面”,你现在控制不了状态,然后【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】跟我说,你可以完全掌控界面的变化。拉倒吧未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。

原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】原创内容,盗版必究。

我可以不负责任的说:状态是函数的天敌!原创内容,盗版必究。

【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【原创不易,请尊重版权】【原创不易,请尊重版权】

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

【原创不易,请尊重版权】【本文受版权保护】本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】

吹吧!下一代主流!【版权所有】唐霜 www.tangshuang.net

【原创不易,请尊重版权】【本文受版权保护】原创内容,盗版必究。【转载请注明来源】【本文首发于唐霜的博客】

吹吧!最理想的 React 编程方式!著作权归作者所有,禁止商业用途转载。

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

吹吧!……本文版权归作者所有,未经授权不得转载。

【版权所有,侵权必究】【版权所有,侵权必究】未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。【版权所有】唐霜 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