博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React + Mobx构建React-Cnode
阅读量:5923 次
发布时间:2019-06-19

本文共 985 字,大约阅读时间需要 3 分钟。

背景

前一阵子,我刚写了篇,介绍了下我用react全家桶构建一个react webapp的中遇到的一些问题。后来,我发现了mobx。然后静下心去看一看它的文档。发现很有趣,所以我把这个项目用mobx重构了一次。旧的版本是用react全家桶,就是react+redux构建的, 在github的old-verson的分支上。大家有兴趣也可以看看。

源码地址

如果可以,希望大家star一下,给我点鼓励。感谢~

开发体会

  • 首先redux很强大,单项数据流的思想,可以让我们很好地去将数据和UI解耦。我们要修改UI,只能通过发起一个action给reducer,然后reducer经过一系列操作,得出一些新的state,然后这个state便会让UI更新。但是有个比较蛋疼的地方就是,我们要写得太多了,我们最起码要写一个actionType, 一个actionCreator, 一个reducer,当然还得创建一个store。如果有异步操作,那还得写更多一点,这会让我开发起来的时候比较枯燥。不知道你们有没有,反正,我是有时候想到要写那么多东西,我就有点动力不足了。
  • 其次就是性能优化的问题。就react中每个组件都有一个shouldComponentUpdate的函数,不过它默认总是返回true的。就是无论如何,只要state和props发生了变化,就要发生一次render。但是有时候是不需要更新的。虽然可以引入immutable-js来创建js不可变的数据,加上在shouldComponentUpdate搞点判断。但是,额,好吧,我觉得引入也挺麻烦的,感觉有点难以在现有的项目里插入(大神别喷我~)。
  • 最后呢,mobx可以比较好解决我上面的两个问题。mobx的写法不难,看一个下午,就可以开始动手写代码了。而且对在原来代码上修改可以比较迅速。因为UI和数据已经解耦了。你只要在store与UI和store的连接部分修改即可。还有就是mobx让你不再使用setState,那你也可以规避setState的异步更新的问题。mobx会检测被观察的数据,只要数据发生改变,它就会去重新渲染UI。当然还有很多很好的地方,每个人理解不一样罢了。这里就不深究mobx。毕竟我也只是处于一个能用的阶段。

最后

最后这里展示下demo

demo

当然还有, 欢迎大家star和fork,

转载地址:http://arivx.baihongyu.com/

你可能感兴趣的文章
全球精英相聚第2届东京云计算大会,聚焦企业数字化转型
查看>>
工业4.0的启示 面向中国未来工业的发展
查看>>
从云计算谈IT系统建设的新思路和新方法
查看>>
互联网金融带来新机遇 数据合规性不容忽视
查看>>
物联网领域的集体发力
查看>>
阿里云推APP:远程管理数据中心
查看>>
白山云科技发布云链新产品 专注热存储
查看>>
大众点评支付渠道网关系统的实践之路
查看>>
“新计算 开启新格局” 新华三集团全国巡展完美收官
查看>>
用友3.0 构筑企业社会化商业新时代
查看>>
如何在Linux中永久修改USB设备权限
查看>>
国舜股份:识别金融欺诈风险 护航大数据安全
查看>>
全部开放网关架构后 蓝牙技术充分扩展IoT潜在应用领域
查看>>
智能配网的秘密:配电“全能”运维模式
查看>>
让Web App更快的HTML5最佳实践
查看>>
《中国人工智能学会通讯》——7.21 什么是知识图谱
查看>>
不可不知:测试云计算服务的九个窍门
查看>>
数据中心存储技术正在新陈交替
查看>>
脑芯编:分手?摆脱冯诺依曼的深度学习硬件
查看>>
每家企业应该知道的10家SaaS初创公司
查看>>