先上一个
REACT
的框架源码介绍的文章,辅助源码的解释,团队推荐。
这一部分的内容直接给个链接,github
地址在此,我在原作者的基础上加了自己的一些内容,仓库的最新代码也进行了重构,包括actionCreator
和reducer
,欢迎提意见和star
。这个教程可以说是把react的轮廓放到了大家面前,并且这个代码也可以fork
一份直接用到自己的移动端项目上,PC
端还需要把REM取消后使用。
这个README
解决的是框架可用的问题,相信用这个demo来让新人入门也好,代码进阶也罢,都可以顺利完成,不过具体的REACT框架原理建议在项目跑起来后要有所钻研,但源码又不好立即入手,这就需要上面的框架源码介绍文章了,希望对源码有探究心的小伙伴参考一开始推荐的文章,也可以看这一篇的分章节介绍,更加详尽。
简单说一下在看整个教程和代码写法时着重的几个点:
connect
函数的[mapDispatchToProps
]参数传入一个对象,当对象中键属性是对象,实际是自动包含了dispatch调用,从而不需要显式调用。redux-thunk
后,需要在createStore上加入thunk
中间件,并且上一点中键的属性变成了函数,此时异步下的dispatch
需要显式调用。reducer
和action
对象的生成逻辑,具体可参考github中的样例。Store
代表着应用核心,因此应该用域数据(Domain data
)和应用状态数据(App state
)定义 State
,而不是用 UI 状态(UI state
)建议仔细看下redux
重构技巧,中文翻译版本在此,英文好的建议看原版。里面关于实现撤销重做的思路介绍,感觉非常不错。
其实我这里想说的就是react
的最佳实践的东西,确切来说就是组件拆分这一块,我感觉用react的很重要的进阶就是知道什么时候使用无状态组件,如何合理拆分组件,其实比函数分解都难,尤其在实际业务中还会有越拆越麻烦的现象发生,另外一点就是要稳准地找到高阶组件的切入点,解决开发中冗余代码和逻辑的痛点,必要的时候还要跟产品沟通,来整合通用逻辑,方便增量开发和维护。
另一方面还要探索react
各种库的使用和实现,毕竟作为工程师,实现需求是最重要的,包括但不限于各种UI库的引入,比如最新的iceworks的的代码生成的学习,这都是提高REACT
水平的良好机会,在此奉上iceworks
的地址,望大家一起进步。