react 好像 vue 啊!

2018-09-04 18:51:19 +08:00
 tnt666666

最近学习 react,感觉好像啊,学习成本变低了。

9508 次点击
所在节点    程序员
82 条回复
xiadd
2018-09-05 09:11:00 +08:00
@murmur 我并不是说这些不好, 只是你说 vue 的 api 短小精悍我指出来而已, api 短小精悍不仅仅是单词长度吧. 另外指令插件这个都是 vue 内置的吧, 初学者是必学的吧? 你不能说我一碰 vue 就知道这是具体是啥. 能配和内置的还是两个概念.

另外说话可以不用这么咄咄逼人, 让人很难有交流下去的欲望
murmur
2018-09-05 09:19:22 +08:00
@xiadd 你去学学就知道了
小项目用 event 的学习曲线 甚至全局变量的成本远比 react 配 redux 低的多
vue webcomponent 的实现也比 react 混写 jsx 容易的多
论学习曲线 vue 跟 jquery 是一个级别的
react 强在入场早社区更成熟 以及和 rn 的配合
而不是你纠结的几个简单的不能再简单的概念
xianxiaobo
2018-09-05 09:20:16 +08:00
vue 就是继承的 angularjs,很多东西换汤不换药
Eoston
2018-09-05 09:21:49 +08:00
我是先看了 react,然后实际用了 vue 的,最近又开始看 react,感觉比之前看思路通了许多。。。。
allce231
2018-09-05 09:22:08 +08:00
react 真的不好学 我还是继续 vue 吧
murmur
2018-09-05 09:27:40 +08:00
@xianxiaobo 作为产品来说
你能通过一个适配器来过渡竞品是 high level
比如国内的地图对 google 地图的宣传 都是引 js 无缝过渡
玩弄概念只会增加学习成本
就包括各种 react 的实现也都是 react 全套 api 设计用过来
所以用 angular 的部分概念完全够不黑点
sohoorc
2018-09-05 09:29:11 +08:00
钓鱼啊
xianxiaobo
2018-09-05 09:34:52 +08:00
@murmur 不是黑,是事实,我也没说 vue 不好,是比新的 angular 学习成本低,很多 angularjs 都转 vue 了,而不是 angular
xilixjd
2018-09-05 09:39:16 +08:00
@murmur
@AllOfMe
没双向绑定也叫 mvvm ?了解一下什么是 mvvm 再说吧
leemove
2018-09-05 09:41:36 +08:00
三者都写过...说 vue 和 angular 像的我也就不说啥了,还有说跟 angularJs 像的我是真服气了.钓鱼贴最终只能掉到愚.
murmur
2018-09-05 09:45:00 +08:00
@xilixjd 叫啊
只不过 vue 是官方语法糖双绑 react 要自己实现
xianxiaobo
2018-09-05 09:48:30 +08:00
@leemove vue 最像的绝对是 angularjs,本来就参考了很多 angularjs 的代码。你可能没用过 angularjs?
sohoorc
2018-09-05 09:50:04 +08:00
@xianxiaobo 对 搞过 angularjs 后玩 vue 和小程序感觉两小时入门 0.0
AllOfMe
2018-09-05 09:54:55 +08:00
@xilixjd 双向绑定实现不了?单从 react 而言,你不用 redux 都能自己实现双向绑定。我感觉是你不懂 mvmm 多一点,不要随便 judge,谢谢
AllOfMe
2018-09-05 09:55:30 +08:00
@xilixjd 打错字,请忽略,mvvm
xilixjd
2018-09-05 10:11:11 +08:00
@AllOfMe
哈哈实现双向绑定,本身就是双向绑定的框架需要“实现”吗
你什么时候听过 vue 实现双向绑定
何况你真的觉得 setstate 那种也叫双向绑定?
this.state.x = 'y',x 在视图页面上也自动更新这种才叫双向绑定,而不是 setstate 重新走一遍 update 虚拟 dom

我是刚搜到 react 双向绑定才得知的,如果你的双向绑定不是 setState 可以教教我怎么实现
xilixjd
2018-09-05 10:27:47 +08:00
@murmur 双向绑定是语法糖?
我随手搜了一篇文章 https://segmentfault.com/a/1190000011225943
里面提到 mvvm 框架常用实现方法有
1.发布-订阅模式
2.脏值检测
vue 是发布-订阅模式
你觉得 react 是这两者之一吗,你还觉得 react 能实现双向绑定吗
dany813
2018-09-05 10:33:58 +08:00
啊,五环,你比六环多一环
AllOfMe
2018-09-05 10:34:42 +08:00
@xilixjd
1, vue 的 this.state.x = 'y' 和 react 的 this.setState 都可以触发 UI 更新,只是 vue 用了 getter/setter 在使用上更方便,我不明白你对这个 this.setState 有什么歧义
2, this.setState 重新走一遍虚拟 DOM,你是不是不知道 React 在 render 时候能根据 props 是否一样,来判断是否需要 update ?如果你想控制渲染更细腻,完全可以在 SCU 里面去控制渲染。走一遍虚拟 DOM 我认为没什么,如果你觉得是性能问题,那么先考虑一下是不是自己 Component 组合和 Props 的传递方式有问题,这还没用到 redux 的 connect 方法来控制 props 渲染呢。
3, “刚刚去搜了一下 react 的双向绑定”,我希望你是用过 react,并且实际开发过几个项目,对 react 有一定了解了才在这里高山阔论,否则你一知半解都不知道你自己在讲什么,这很可怕。
4, “你听说过本身就是 mvvm 的框架需要实现吗?”,我不明白,简单来说,this.setState+props+onChange 的方式就可以做好一个 APP 的整体数据控制,只是麻烦一点而已,我说的实现就是实现的意思,你不借助 redux/mobx 当然都 OK,不明白你的意思?
5, “除了 this.setState 还有没有其他方式?” 你自己写几个 function,做监听,处理 dispatch,需要更新了就重新 ReactDOM.render()渲染一下传递一下新的 store,这个很难吗?还是说以你的水平,就喜欢 vue 的自动追踪绑定,最好自己一点 function 都不实现,一点处理代码都不写,简简单单的 this.state.x = 'y'就很好了,那这样我觉得也无所谓,你喜欢就好

另外,ReactDOM.render 没有性能问题,我怕你一会又要扯什么性能问题,优雅问题。不,这只是开发者的水平问题而已。
vincenteof
2018-09-05 10:42:10 +08:00
@xilixjd 你的逻辑很奇怪,你先定了一个前提: `实现双向绑定有两种方式`,然后因为·在 react 里实现双向绑定不是这两种方式·, 最后得出了·react 不能实现双向绑定·的结论。双向绑定难道不只是一个结果么,怎么实现很重要,你说的方式相比于 react 的方式有很大的优越之处吗?

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

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

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

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

© 2021 V2EX