专栏首页卡少编程之旅REACT框架学习心得

REACT框架学习心得

先上一个REACT的框架源码介绍的文章,辅助源码的解释,团队推荐。

框架概念和工程模板

这一部分的内容直接给个链接,github地址在此,我在原作者的基础上加了自己的一些内容,仓库的最新代码也进行了重构,包括actionCreatorreducer,欢迎提意见和star。这个教程可以说是把react的轮廓放到了大家面前,并且这个代码也可以fork一份直接用到自己的移动端项目上,PC端还需要把REM取消后使用。   这个README解决的是框架可用的问题,相信用这个demo来让新人入门也好,代码进阶也罢,都可以顺利完成,不过具体的REACT框架原理建议在项目跑起来后要有所钻研,但源码又不好立即入手,这就需要上面的框架源码介绍文章了,希望对源码有探究心的小伙伴参考一开始推荐的文章,也可以看这一篇的分章节介绍,更加详尽。

redux学习心得

简单说一下在看整个教程和代码写法时着重的几个点:

  1. connect函数的[mapDispatchToProps]参数传入一个对象,当对象中键属性是对象,实际是自动包含了dispatch调用,从而不需要显式调用。
  2. 当引入了redux-thunk后,需要在createStore上加入thunk中间件,并且上一点中键的属性变成了函数,此时异步下的dispatch需要显式调用。
  3. 为了减少样板代码,需要统一用数据检索的思想来完成reduceraction对象的生成逻辑,具体可参考github中的样例。
  4. 前端的数据其实就是三类:Domain data(服务器给的展示数据)、App state(某个行为的标识数据,如正在请求数据之类)、UI state(UI状态)
  5. Store 代表着应用核心,因此应该用域数据(Domain data)和应用状态数据(App state)定义 State,而不是用 UI 状态(UI state)
  6. Reducer的重构介绍中一个核心概念需要理解,就是函数分解,在redux重构中又分为 工具函数/业务逻辑/高阶函数 三种拆分技巧

建议仔细看下redux重构技巧,中文翻译版本在此,英文好的建议看原版。里面关于实现撤销重做的思路介绍,感觉非常不错。

进一步探索

其实我这里想说的就是react的最佳实践的东西,确切来说就是组件拆分这一块,我感觉用react的很重要的进阶就是知道什么时候使用无状态组件,如何合理拆分组件,其实比函数分解都难,尤其在实际业务中还会有越拆越麻烦的现象发生,另外一点就是要稳准地找到高阶组件的切入点,解决开发中冗余代码和逻辑的痛点,必要的时候还要跟产品沟通,来整合通用逻辑,方便增量开发和维护。   另一方面还要探索react各种库的使用和实现,毕竟作为工程师,实现需求是最重要的,包括但不限于各种UI库的引入,比如最新的iceworks的的代码生成的学习,这都是提高REACT水平的良好机会,在此奉上iceworks地址,望大家一起进步。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • css黑魔法简略版

    卡少
  • 用CSS实现居中的总结

    卡少
  • 对列表hover效果的小探讨

    卡少
  • 使用 Elastic Stack 构建 Kubernetes 全栈监控(2/4)

    在前文中我们已经安装配置了 ElasticSearch 的集群,本文我们将来使用 Metricbeat 对 Kubernetes 集群进行监控。Metricbe...

    我是阳明
  • 业界 | 会员同比涨七成,爱奇艺是如何用大数据助力娱乐工业革命的?

    本文为清华数据科学研究院联合大数据文摘发起的年度白皮书《顶级数据团队建设全景报告》系列专访的第四篇内容。《报告》囊括专家访谈、问卷、网络数据分析,力求为行业内数...

    大数据文摘
  • 中国互联网公司开源项目调查报告:BAT们谁是开源王者?

    近年来,开源技术得到越来越多的重视,微软收购 GitHub、IBM 收购红帽,都表明了开源的价值。国内公司也越来越多的参与开源,加入开源基金会 / 贡献开源项目...

    纯洁的微笑
  • [python]写一个统计代码行数的co

    某一天过去SY那儿,突发奇想说要写一个统计代码行数的小程序。说干就干,约定了一个时间——周六,来把这个想法给实现了。当然这个项目人家做过的也未必,google...

    py3study
  • 数据正在以意想不到的方式改变着运动队

    大数据文摘
  • 老男孩Python全栈开发(92天全)视频教程 自学笔记06

    玩蛇的胖纸
  • 如何使用 Java 生成二维码?

     QRCode生成二维码网址:http://swetake.com/qrcode/index-e.html

    芋道源码

扫码关注云+社区

领取腾讯云代金券