最近在学习ReactNative,在搜集学习资料探究学习方式的阶段发现,要想能在实际项目中做到应用RN的水平,就必须要先对React.js很了解才可以。在了解React.js的过程中,发现里面涉及的概念非常多,node.js/js/css/jsx/babel/es6/flux/redux等等,感觉前端的技术栈果然比较深一些。根据我自身的学习习惯,先对知识的整理学习完毕,做到对技术的可控状态才算学习完毕。于是画了一星期的工作之余的时间对React.js进行学习总结。下面介绍一些学习中遇到的坑。
学习demo我整理了一下放到了github上面:
https://github.com/lihei12345/ReactJSDemo
开发环境
学习JSX语法,最简单方式通过jsfiddle:
https://jsfiddle.net/reactjs/69z2wepo/,不用任何IDE也可以有个比较不错的开发环境。
atom + nuclide,facebook推荐的React.js/ReactNative的官方编辑环境,但是package问题比较大,cpu一直使用超过100%,基本上处于不可用的状态,上周更新了一个版本,不知道现在已经修复没有,Atom cpu过高的问题:
https://github.com/atom/atom/issues/3426,
https://github.com/facebook/nuclide/issues/199,
http://longtimenoc.com/archives/react-nativereact%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E5%8F%8A%E4%BD%BF%E7%94%A8-nuclide
1. 语法提示错误的问题:
https://facebook.github.io/react/docs/getting-started.html,在chrome下面,把jsx放到独立文件时,需要通过HTTP来访问,否则会报错。但是safari是可以正常渲染的。
学习笔记
第一步:
第二步:
然后我学习了facebook官方的guide:
https://facebook.github.io/react/docs/why-react.html和
https://facebook.github.io/react/docs/displaying-data.html,对JSX语法有了一个比较全面的认识,把里面的例子实现一遍了之后,对React的印象就比较深刻了。
第三步:
然后学习了<React Up & Running> 这本书,首先学习最后一个章节,对JSX/babel/es6这些概念,以及JSX的原理有了比较全面详细的认识。官方的guide中,有些地方说的不够详细,原理讲解不够清晰,这本书作为补充很不错。
第四步:
最后学习了<React Up & Running> 这本书的前3个章节,把里面的demo实现了一遍,感觉把握住一些React的写法。
参考
- https://facebook.github.io/react/index.html
- http://www.jb51.cc/article/p-rkowmlmt-bnx.html
- <React Up & Running>
- http://sahatyalkabov.com/create-a-character-voting-app-using-react-nodejs-mongodb-and-socketio/
- http://segmentfault.com/a/1190000003501752
- redux + React:https://github.com/matthew-sun/blog/issues/18
- redux:http://camsong.github.io/redux-in-chinese/docs/introduction/index.html
- https://github.com/enaqx/awesome-react
- react-redux:https://github.com/rackt/react-redux