python组件的react实现_react组件化开发心得

react开发一年多了,记得第一次接触react时在老家没有网,打开一个不知道什么时候clone的react tutorial,看了半天一头雾水。那时候html、js、css分离的思想根深蒂固,感觉react这么做没有道理。

后来react的热度一路攀升,存在即合理,我开始深入研究react,重新审视它的思想。

从基础框架、路由,到受到不少追捧的redux,到如雷贯耳的react native,对react开发有了基本的认识。react不提供一站式的解决方案,像angular,像python的django,在我看来,它的特点有二:

其一,它是一个底层的js到dom映射的引擎,数据改变 -> 刷新UI, 难得之处在于这一操作不需开发者完成。只要改变相关数据,react会用据称非常高效的dom diff 算法刷新UI,相比于传统的js、jq直接操作dom要快的多,也无需关注过多细节。这一特性让react跨平台开发成为可能。

其二,特立独行的组件化开发思想。据我了解,最初web开发由后端模板生成页面文件发到浏览器。会有服务端压力过大、浪费流量、前端太闲:P的问题。继HTML5推出后,W3C提倡页面、样式和脚本分离,然而,react反其道而行之,将相同功能封装为组件,与以往的页面模板类似,达到组件复用的作用。并且,RESTful思想的提出,后端只提供API调用,将业务逻辑摆在前端执行,配合react天衣无缝。如今,前后端分离、组件化开发的思想十分流行。对于大型项目,redux这种状态管理工具也非常受用。

react带来的不可变数据、js函数式编程思想也值得关注

当初看官网那篇Thinking in React一头雾水,对组件化没有概念,哪些部分才能称为一个组件?这一年的学习实践后,我依然不能清晰地表明哪些应该是组件。react开发中需要更多思考,组件化合理,开发很有效率,也很享受,组件化不合理,到后面一头乱麻,会越用越乱。因此,我建议在写代码之前,仔细分析,除了能实现现有功能,在将来扩展时也应很好适配。

用react开发就像搭积木,每个积木小巧、匀称、有自己特点,当某个积木过于庞大或奇异时,就应考虑这么分割是否合理。当然,最重要的是,能将所有积木组合成一个实体。如果说会react、redux、react-router是看你的外在,会不会分割组件则是看内在,是不明显但也应引起重视的。

想起之前刚学react时,还要配置webpack,半天配不好,心里骂了无数遍。趟过一个个坑,又到了一个更大的坑。刚接触redux时,每一段代码都看得懂,但合到一起,就不知道在讲什么了。具体做项目时,写组件、写reducer,写了好久好像什么都没出来。但开始拼组件,建立大厦时,发现打下的地基是如此稳固。相比于原生砌砖,react是一层层倒模具,一夜间,万丈高楼平地起。组件化开发思想,便利了团队协作,提高了开发效率,这才是现代开发。

相信以后会有更好的技术出来,到那时,我会当一个勇敢的弄潮儿。

你可能感兴趣的:(python组件的react实现_react组件化开发心得)