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 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

编码习惯之异常处理

对于大型IT系统,最怕的事情第一是系统出现了异常我不知道,等问题闹大了用户投诉了才知道出问题了。第二就是出了问题之后无法找到出错原因。针对这2个问题,说说我们项...

3009
来自专栏linux驱动个人学习

SPI通讯协议

一、SPI概述 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通...

4247
来自专栏微信小程序开发

微信小程序开发常见问题(二)

知晓程序员,专注微信小程序开发的程序员! 今天再给大家分享几个微信小程序开发的常见问题,顺便吐槽一下,武汉的冬天太TM冷了,没有暖气的冬天真的很难过,写文章的心...

4805
来自专栏点滴积累

geotrellis使用(十三)数据导入BUG解决方案说明

Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 BUG说明...

3787
来自专栏IT派

厉害!黑客怎样用谷歌查找信息?

IT派 - {技术青年圈} 持续关注互联网、区块链、人工智能领域 黑客去入侵一个网站的时候往往需要搜集它的很多信息,这其中包括利用网站漏洞,社工,还有就是用...

3666
来自专栏WeTest质量开放平台团队的专栏

iOS微信内存监控

本文介绍如何实现离线化的内存监控工具,用于 App 上线后发现内存问题。

1.4K5
来自专栏WeTest质量开放平台团队的专栏

内存是手游的硬伤——Unity游戏Mono内存管理与泄漏

内存是游戏的硬伤,如果没有做好内存的管理问题,游戏极有可能会出现卡顿,闪退等影响用户体验的现象。本文介绍了在腾讯游戏在Unity游戏开发过程中常见的Mono内存...

852
来自专栏喵了个咪的博客空间

phalcon-进阶篇1(过滤与清理)

#phalcon-进阶篇1(过滤与清理)# ? 本教程基于phalcon2.0.9版本 ##前言## 先在这里感谢各位phalcon技术爱好者,我们提供这样一个...

3038
来自专栏owent

libcopp v2的第一波优化完成

之前测出来libcopp还有一些列优化点,但是要破坏之前的API,所以整理了一下优化的想法和方案。

2442
来自专栏Golang语言社区

nodejs php go语言了解

1、Nodejs 1) 简单的说 Node.js 就是运行在服务端的 JavaScript。 2) Node.js 是一个基于Chrome JavaScript...

51811

扫码关注云+社区

领取腾讯云代金券