尤雨溪怒喷React挖坑不埋,这波我想说句话!!!

这两天尤大喷React文档的内容又被前端圈疯传,内容如下,看了这个内容后,我的第一反应是:他是懂的玩流量博人眼球的,操作跟近期抖音上某些博主互喷互黑如出一辙。

b32cbaed9cfe6705f7746a0bc063ce13.png 8a27ee08f196e3415ebb9b51a3eac837.png

自己Vue和React两个框架都用过,下面发表一下自己的几点看法:

  1. 框架仅仅是框架,目的是利用该框架快速实现产品解决问题,所以不用深陷框架的好坏、快慢之中,跟随部门的技术选型走即可,毕竟也许在不久的将来,将会有新的内容替换掉现在的前端框架;

  2. Vue封装的内容过多导致记忆成本过高,而React更加贴合原生JS(封装内容少),所以两者的心智负担只是在不同维度(多次尝试对比和大厂选型,个人还是推荐React,毕竟门槛越高我们的安全系数越高);

  3. 跨出框架,回归原生,也许在未来更具备竞争力。

说了两个框架中自己的看法,来看看上述引起该争论话题的文档,其页面地址如下:https://react.dev/learn/you-might-not-need-an-effect#updating-state-based-on-props-or-state,然后通盘阅读了该文档,建议朋友们也可以阅读一遍,确实挺好:

  1. 全篇类似于一个最佳实践,通过这些写法能够提升运行效率(并没有说写法会出问题),所以我认为该部分内容并不能说是React的坑;

  2. 截图中的例子更像是一个计算属性,因为fullName可以通过state中的firstName和lastName计算得到,所以没有必要封装到useEffect中,封装进去会导致重复渲染的问题。(相比于封装一个computed这样的函数,感觉这种写法更能降低我的记忆成本)

function Form() {
  const [firstName, setFirstName] = useState('Taylor');
  const [lastName, setLastName] = useState('Swift');

  // 🔴 Avoid: redundant state and unnecessary Effect
  const [fullName, setFullName] = useState('');
  useEffect(() => {
    setFullName(firstName + ' ' + lastName);
  }, [firstName, lastName]);
  // ...
}

function Form() {
  const [firstName, setFirstName] = useState('Taylor');
  const [lastName, setLastName] = useState('Swift');
  // ✅ Good: calculated during rendering
  const fullName = firstName + ' ' + lastName;
  // ...
}

写到最后——技术人对技术的优劣都有自己的观点,这些观点无关乎正确好坏之分,但是在发表观点时不要带着明显的个人感情色彩并进行无脑的抨击,辩论会促进技术的进步、过度争论只会让圈子更加浮躁,愿我们用夸奖的态度让生态蒸蒸日上,加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值