react组件

组件 扩展(html元素) 封装( 可重用代码)
类定义组件,函数定义组件(无状态组件)
react 组件的名称,首字母一律大写,使用驼峰写法

引入组件
React,{Component} class App extends Component
React class App extends React.Component
组件调用
可以是单标签也可以是双标签,但标签必须闭合 jsx/xml 标签闭合
constrtctor
构造函数,如果没有添加constructor,根据es6创建类的规则,会自动添加一个空的constructor,内部必须super()

内部状态 this.state 只受组件控制
外部状态 props传值
JSX有且只有一个根节点元素
key
渲染的是jsx,最终会被解析成虚拟dom,通过虚拟dom与真实dom做比较,通过diff算法判断那块模板数据需要更新,就去更改哪里,以此得到浏览器高校的渲染速度,加key,更方便,唯一表示,快速捕获当前数据源已经发生的变化,某一些元素进行索引,新值进行替换

类定义组件
如果没有组件私有状态state需要去定义,根据es6原则,可以省略不懈constrctor
函数定义组件
函数定义组件称为无状态组件,无状态组件
有效的React组件,接受单一的props对象并返回一个React元素,从字面上来看,它就是一个javascript函数
定义组件时,render返回的jsx模板有多个子节点,根节点元素最好用小括号包起来

注意事项:
无状态组件prop不要通过this.props来调用
无状态组件没有生命周期
无状态组件不能定义状态(state)
无状态组件不能实例化,组件名不能被new
无状态组件只能返回一个根节点元素
类组件render函数,只能返回一个根节点元素
类组件如果现实的声明了constructor,必须调用super()

 

posted @ 2018-12-27 13:55  maps..xy  阅读(150)  评论(0编辑  收藏  举报