React 笔记一:简单串讲

React 笔记一:简单串讲

github源码在此,记得点星:
https://github.com/brandonxiang/example-react

介绍

可以说React是非常装逼的前端工具,学习成本也相对较高。因为它和es6和webpack都相互结合的很好。所以在学react之前要学习babelwebpack等等,学了react之后又要学reduxreact-router,还有很多周边的组件。

组件生态

知乎上很多人讨论react,angular和vue的问题。

我个人认为选择react的原因一定是它的组件生态,详情参考awesome-react-components。相比之下,angular的生态其实也不错,但是angular2的断裂式升级,以及angular1的脏类型的问题,还有angular2的功能完善。这些都让我很难喜欢angular。vue比较适合“单打独斗”的小项目。

入门教程

React 入门实例教程讲解了render的思想,JSX的语法,组件的构成,propsstate等等。

数据绑定

state 和 props,两个专有的说法。props更多是属性的单项绑定,也可以是子组件的参数。而state是状态机,可以实现双向绑定,数据交互。

例子

创建一个简单React的demo,方法有很多,这里说一个简单脚手架create-react-app

npm install -g create-react-app
create-react-app my-app

另外,就是采用yo模板构建工具generator-react-webpack。一口气完成react,webpack以及postcss模板生成。并且生成了单元测试代码

阮一峰老师的 代码示例库 脚手架

两种写法

参考React Native 中 ES6+ 和 ES5 语法比较

es5 方法写法

这种写法相对传统,有点es5的意思。初始化使用方法getInitialState

var Hello = React.createClass({
   render() {
    return <h1>Hello, world</h1>;
  }
})

export default Hello

es6类写法

用es6的写法,新颖而亲切。初始化使用方法constructor

export default class Hello extends Component{
  render() {
    return <h1>Hello, world</h1>;
  }
}

两者之间的区别详情参考React.createClass versus extends React.Component

PropType

生命周期

我个人感觉这是一个难点,渲染周期的方法,重写该方法可以实现在dom周期中的一些功能,紧密把握着dom的一些功能实现,有点像jquery的感觉。对生命周期的把握,可以实现很多逻辑的功能。

入门坑

参考

转载,请表明出处。总目录前端经验收集器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容