Vue3.0 从入门到学会 React

2020-04-22 11:43:25 +08:00
 hoythan

https://weibo.com/arttechdesign

糟糕的 hooks 还不如 React 。

17542 次点击
所在节点    Vue.js
114 条回复
g00001
2020-04-22 13:26:49 +08:00
react hooks 难学易精,就是上手那一下子有点痛。
guog
2020-04-22 13:29:43 +08:00
@murmur 哈哈哈,老哥这说的就是我,后端写前端,能用又快,讲究啥啊
imnaive
2020-04-22 13:32:50 +08:00
来源 https://composition-api.vuejs.org/#comparison-with-react-hooks
# Comparison with React Hooks

The function based API provides the same level of logic composition capabilities as React Hooks, but with some important differences. Unlike React hooks, the setup() function is called only once. This means code using Vue's Composition API is:

1. In general more aligned with the intuitions of idiomatic JavaScript code;

2. Not sensitive to call order and can be conditional;

3. Not called repeatedly on each render and produces less GC pressure;

4. Not subject to the issue where useCallback is almost always needed in order to prevent inline handlers causing over-re-rendering of child components;

5. Not subject to the issue where useEffect and useMemo may capture stale variables if the user forgets to pass the correct dependency array. Vue's automated dependency tracking ensures watchers and computed values are always correctly invalidated.

6. We acknowledge the creativity of React Hooks, and it is a major source of inspiration for this proposal. However, the issues mentioned above do exist in its design and we noticed Vue's reactivity model happens to provide a way around them.
momocraft
2020-04-22 13:39:22 +08:00
看#10 的描述不像搭积木,更像画画
hoythan
2020-04-22 14:04:04 +08:00
vue 主要是對前端开发入门门槛急剧降低,真要是在乎性能而不考虑便捷性的话,选 React 没跑了。
murmur
2020-04-22 14:10:48 +08:00
@MorningStar0 企业开发,需求变更是要算钱的,上了生产变动很小的,想起来字段是啥也属于工作量的一部分
流程和人员相关的权限是配出来的,也不需要开发
Procumbens
2020-04-22 14:12:52 +08:00
@murmur vue 的占比?在国内可能用 vue 的多点,国际上 react 遥遥领先。
https://existek.com/blog/top-front-end-frameworks-2020/
MorningStar0
2020-04-22 14:16:58 +08:00
@murmur 这个描述,让我想起了“js 报错不影响页面展示”的段子。。。。。。我明明提的是关于可维护性的问题,你却回我开发流程和工作量🙃
murmur
2020-04-22 14:19:44 +08:00
@Procumbens 那又如何,什么需求就应该用什么框架完成,国外还一堆用 sqlserver 和 windows server 的呢,都快被开除程序员籍了
murmur
2020-04-22 14:21:29 +08:00
@MorningStar0 什么叫可维护性,如果我从流程上能控制住需求的不合理变更,自然可以减少后期代码修改
而且互联网项目很多都没资格谈可维护性,半年一年不到公司都没了,还需要维护啥,新技术随便用,管他稳定不稳定反正骗投资人的钱
我们集团 oa 是 vb 写的,现在还跑的好好的,所以你在担心什么可维护性?
murmur
2020-04-22 14:24:16 +08:00
说到国外,昨天在知乎上看到个说 sql server 市占比不如 acess 的,这要不是知乎的仲裁委员会撒比,早就祖安问候过去了
shenyu1996
2020-04-22 14:25:02 +08:00
@xilixjd 我也觉得不带脑子读 hook 代码实在太难了 还是 vue 2.0 香 太香了
MorningStar0
2020-04-22 14:31:04 +08:00
@murmur 很莫名其妙的回复,我以为我们讨论的是复杂权限控制在不引入类型声明的情况下,会普遍导致系统的可维护性下降的问题。
结果你却说,在你提到的特定场景下,基本不需要系统的维护。难道用 vue 是只需要解决这个特定的场景么?显然不是的。
frankwei777
2020-04-22 14:32:37 +08:00
hoc 的时代终于可以过去了 hooks 真香
murmur
2020-04-22 14:34:29 +08:00
@MorningStar0 php 是弱类型语言,python 是弱类型语言,强类型是好东西,但是强类型不是灵丹妙药,解决变量和代码逻辑没法对应的方法很多,在前端部分定义 ts 可以解决问题,但是解决不了全部问题
如果说强类型是万能药,那么 java 和 c#应该是世界上最好的后端语言,大厂出品,天生强类型,教科书一样的语法,宇宙级 IDE,实际上呢?
前端和后端这不是跑题,前端的代码难维护,那么 js 写的后端是不是也同样会有类似的问题?
murmur
2020-04-22 14:36:50 +08:00
@MorningStar0 如果你还不明白维护性是什么,我们的另外一个系统,react15 的版本,redux 都没用,用的事件和全局变量解决的子-父交互,运行了三年多了,也好好的,方法总比问题多
henmeiweide
2020-04-22 14:46:38 +08:00
在上个公司项目写了半年 vue2 + composition-api (上生产环境), 很香啊,稍微多写一段时间认识到运行机制后( 比如意识到 setup 里的东西都只是运行一次、render 函数里的才是每次都运行。这和 react 函数组件整体作为 render 函数还是有很大差别的)代码就很容易优化,也会觉得写组件就像是写有前因后果的故事啦。然后个人没必要多做比较,都挺好的,vue3 composition api 和 react hook 都需要一定的学习成本,但是做这行的不就是要学嘛(手动狗头保命)
MorningStar0
2020-04-22 14:53:22 +08:00
@murmur 所以,难道是我们对”可维护性的“这个概念有不同的理解么???变量全是无语义的字符组成的程序也可以运行三年不出问题,但是你能基于这个版本继续推进下去么?
还有,强类型虽然不是万能药,但是你能否认强类型在可维护性这个方面提供的强大支撑么。
再说 java (或者还有 c++)难道不是大型工程常用语言么,如今连 facebook 都是是用 hack 作为后端,这难道不能说明弱类型语言在需要大量迭代的项目中的劣势么?
最后,说到底你前面举的两个例子,哪一个是需要高可维护性的项目么?或者说的更直接些,这两个项目难道需要每周进行迭代么?
murmur
2020-04-22 14:58:34 +08:00
@MorningStar0 “甚至,复杂的权限控制这个,你确定没有类型声明,3 个月之后还能想起权限字段对应的值么?”你能不能解释下这句话
我感觉被你说的莫名其妙,权限控制是需求,这个不能砍,那么 react 和 vue 解决有大区别?
mebtte
2020-04-22 15:02:50 +08:00
Vanilla JS: 我不是针对谁, 我是指在座的各位, 都是垃圾

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/664932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX