ReatJs
ReatJs
wangxu871023 发表于1年前
ReatJs
  • 发表于 1年前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

作者:郑炜韬
链接:http://www.zhihu.com/question/35767399/answer/64530124
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

鉴于我只是入门,而且私觉得题主在问React入门的问题,我就说说自己入门的经历好了
------

这段时间刚好用React搭建了一个简单的网站,此前基本没多少实际的前端开发经验,因为我都是写后端服务的,然后之前也接触过AngularJS,但是也没实际应用于应用开发中,这次头脑发热想用React作为前端MVC的V,其实大体上也就用了几天时间吧,就【入门】了,至少题主说的JSX什么的,我觉得并不难,一开始只是比较恶心,觉得大量JS和大量标签混在一起写不是很好的风格,所以至今还无法全然接收React的风格,但是也没觉得有多难,懂一点HTML,参照着文档就可以搞出来。

至于我是怎么学的呢?其实就是看官方文档,学Anugular的时候我还专门跑到国内某比较有名的IT学习网站去看了几位名人的讲解,现在想想都没有带着实际的项目开发需求去学习来得靠谱。

首先按照自己的思维写了个大概,页面中几个重要模块我都进行了独立拆分,各自逻辑开发完后我突然发现,模块之间怎么通信呢?好的,React提供了Flux,我又花了大半天把Flux理解了一遍,发现自己来写似乎比较烦,于是还自学了一些NodeJS(此前有了解过Node),用EventEmitter写了一个简单的全局事件机制,终于可以愉快地完成我那几个独立模块的通信和同步了,OK,网站逻辑完成。

但是我深深地觉得这样的网站始终有问题,于是稍稍深入看了一下React文档(其实也就那么一些罢了),突然我发现,我模块化网站内容的方式不对,本可以被组织到一个高层组件的模块全都被我独立拆分了,导致到处都是事件订阅和通知,于是我重新整理了一下,用一个高层组件处理数据模型更新,再通过props传递自动完成其他组件的自动更新,于是乎我发现,整个JS的逻辑变得很清晰简单。而对于确实是独立的组件间通信,我们有一些别人实现好的Flux框架可以用。

总体来说,我个人觉得我应该了解到的React基本齐全了,因为按照官方文档的内容,我觉得已经掌握地差不多了,这个时候我自称我自己的React水平是:【入门】(难道不是吗,你打我呀)

期间还要写写后台逻辑,还因为不喜欢手动转换JSX而找了一堆前端模块化和构建工具,首先是简单地用seajs,发现不好,又考察了browserify,和webpack,了解了webpack配置文件的编写。

总之,我就这么入门了(各位前端大侠轻喷,我只是临时过来写前端的)。

那么,React入门难吗,对于我这种没有太多前端工程经验,顶多帮别人用jquery写写ajax的程序员来说,都觉得还好。

而AngularJS呢?我觉得就像题主说的,入门也不难,但是必然也会在实践中踩一些坑,然后把写好的代码重新构造一遍,这个时候往往是刷新自己对框架认知的时候,这一步是很重要的,一定要硬着头皮上。当然如果这一步有高人在一开始给你点明,估计入哪个们都不难。

最后个人觉得,React全量的高效刷新比起AngularJS绑定更新来说还是方便一些的,整套逻辑的数据流动很简单清晰,从上到下,子组件都是弱状态或者无状态,一致性比较好保证。

有机会还是想实际用用AngularJS,说不定又是一次奇妙的开发经历。

说得不对的,请轻拍指正~

共有 人打赏支持
粉丝 0
博文 8
码字总数 2233
×
wangxu871023
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: