vue react 对比

2018-06-22  本文已影响42人  leeeekk

前言

刷了一波 react 文档,想找个东西练练手,在网上一看,什么实现一个 网易云、酷狗音乐、豆瓣 感觉找接口都够费神了,之前做过 vue 实现饿了么的一个系统,图片资源,mock 数据齐全,再加之样式写过了,所以直接就拿来用了。本文旨在浅显的描述一下写完这个项目的心得体会,欢迎斧正。这里是项目地址项目展示地址

1、 起手式

2、 文档

简单的概括就是 react不错,vue 真香(可能是本菜见过最棒的文档吧)。

3、 生命周期

总结一哈(一家之言):

4、 大 API 和小 API

同为渐进式框架,vue提供了大量的 API 对数据、视图去进行处理。

  1. vue视图提供了一系列的指令控制视图,v-show、v-for、v-model...,react 的话都要通过自己display、map、onPrototypeChange...去实现

  2. 关于数据处理,vue 有 filter,computed 对数据进行监听过滤,react。。。

就此而言 vue 的 code 开销可能少一点。。

5、状态管理

这里只比较 vuex 和 redux,说实话 redux 用的很不爽啊。

  1. 改变数据: redux 是通过 reduder 返回。这特么就意味修改我每修改一次,哪怕是 a.b.c 这种层级,就要返回整个 state,为了精简必须得拆,当返回是一个索引类型滴我们就需要 [...a] 或者 {...a}要不然根本不会触发组件内 props 改变。vuex 通过 mutation 直接赋值即可,当有新属性添加Vue.$set。

  2. 注入组件: react-redux 通过全局 Provider + 组件的 connect,通过 mapStateToProps + mapDispathToProps 将 state 和 dispatch 注入到组件的 props 中。vuex 是将 store 注入根节点,组件通过 $store 或者 mapxxx 进行访问。

  3. 数据筛选 : react 在 mapStateToProps 中处理, vuex 在 getter 上处理。

  4. 模块划分 : react 返回各个 reducer 然后 combine,vuex 是塞到 module 里。

6、生态

  1. web 方面,vue 官推全家桶,到目前为止,vue 的一些开源组件也是很丰富的目前都能满足我所接触的业务要求。react 生态...感觉更大,因为可选项太多了,拿动画来说 motion、animated、groupCssTransition...(ps:groupCssTransition处理路由过渡动画的时候,有个坑,我比如我想实现 a->b 页面是从右到左的特效,b->a是从左到右的特效会存在一个老坑,具体大家可以把RouterAnimation的childFactory去掉试试,不详述。)从这点来说 react 更加 渐进式 一点;

  2. native 方面,记得去年看 weex,我连官方 demo 都没跑起来,不知道现在咋样;react native 没跑过,不过很多成功案例,加上最近出的泰罗奥特曼听上去棒棒哒。

  3. 微信小程序:wepy mpvue ??????我选择用原生主要是因为预览还要再开一个 ide 很不开心。

emmmmmm....感觉有点帮助的点个赞吧。

上一篇下一篇

猜你喜欢

热点阅读