react跟vue的区别

react跟vue的区别

我感觉核心都差不多 除了语法不太一样

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕码 2019-09-11 14:30:51

同学你好~

react也是能做移动端的!

如果帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 JJJustin #1
    我觉得vue有点不好的地方是报错难找 样式在浏览器调试也不是很方便 react在这点好一些
    2019-09-11 14:33:42
  • 好帮手慕码 回复 提问者 JJJustin #2
    vue的话还可以,可以在命令行看下错误。很多前端前辈对于命令行是很熟悉的哟~ 如果帮助到了你,欢迎采纳,祝学习愉快~
    2019-09-11 19:11:17
好帮手慕码 2019-09-11 09:43:54

同学你好!

  1. 是的,使用vue的比较多,因为好上手,开发成本较小

  2. 也有使用react的,国外比较多

  3. 很多情况都是:随着公司里使用的某一种技术开发,假如说之前有前端前辈,人家使用vue,后去的也会随着他的去开发。(要是公司里没有前端前辈,那就可以选择自己熟悉的技术了)

如果帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 JJJustin #1
    react也是能做移动端的是吧
    2019-09-11 09:53:44
好帮手慕码 2019-09-10 18:57:43

同学你好!

vue的数据双向绑定主要通过Object.defineProperty()方法来进行数据劫持以及发布者-订阅模式来实现的。vue实例话的时候会去遍历所有的属性,给这些属性添加get和set方法进行数据劫持;可以参考下图:

http://img1.sycdn.imooc.com//climg/5d777f8c000115e905000343.jpg

以上就是mvvm实现双向绑定的思路了。具体实现方式:要想实现数据的双向绑定首先就要通过数据拦截来进行监听数据的改变,这个时候就要设置一个监听器Observer来进行监听,如果属性发生改变的话就告诉订阅者Watcher看看是否需要改变,同时的话订阅者可以有好多个,我们就用一个订阅者管理器(Dep)来管理这些订阅者。紧接着我们还要有个指令解析器来对每个节点进行扫描和解析(解析节点的指令如v-on),把他们初始化成一个订阅器Watcher,并且绑定相应的函数,Watcher会对比前后两个的数值是否发生变化,然后确定是否通知视图进行重新渲染;

http://img1.sycdn.imooc.com//climg/5d777b6d094aceec05910439.jpg


以上的图片可以具,体归纳为:

1.实现一个监听器Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。

2.实现一个订阅者Watcher,可以收到属性的变化通知并执行相应的函数,从而更新视图。

3.实现一个解析器Compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。

总之,这些概念性问题都设计太底层了,不是很懂没有关系,同学可以先了解下。等vue写的多了,知识经验积累了一定程度再来看会有不同的理解和体会。

如果帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 JJJustin #1
    老师 竟然react跟vue 差不多 为什么市面上的app都是vue比较多 有一些是react native 很有看到有react.js写的项目吧
    2019-09-10 20:09:01
好帮手慕码 2019-09-10 11:03:28

同学你好!

是的哦,核心是类似的~

相同点:

    1.都支持服务器端渲染

    2.都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,

    3.数据驱动视图

    4.都有支持native的方案,React的React native,Vue的weex

    5.都有管理状态,React有redux,Vue有自己的Vuex(自适应vue,量身定做)

不同点:

       1.React严格上只针对MVC的view层,Vue则是MVVM模式

       2.virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制

       3.组件写法不一样, React推荐的做法是 JSX + inline style, 也就是把HTML和CSS全都写进JavaScript了,即'all in js';Vue推荐的做法是webpack+vue-loader的单文件组件格式,即html,css,jd写在同一个文件;

       4.数据绑定: vue实现了数据的双向绑定,react数据流动是单向的

       5.state对象在react应用中不可变的,需要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理;

如果帮助到你,欢迎采纳,祝学习愉快~

  • 提问者 JJJustin #1
    双向数据绑定解释一下 我知道react是父组件可以改子组件的数据 子组件不能直接改父组件的数据 是指这个吗
    2019-09-10 11:29:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师