笔记,具体可以看看这个博客:

https://segmentfault.com/a/1190000004168886?utm_source=tag-newest

react 的jsx  document.createElement()一层层cereateElement

问题一:jsx render函数原理?

一:
引入:
react.js
react-dom.js
browser.min.js <script type="text/babel">
var destination = document.querySelector("#container"))
ReactDOM.render(
<div>hello world</div>
,destination
)
</script> 二,创建组件,React.createClass({ render:function()
{
return (
<div>hello world</div> ) } }) 三:组件的传递只能是父传给亲儿子,不能越级直接传孙子;{...this.props} <p color={this.props.color} size={this.props.size}></p>
等同于:
<p {...this.props}></p> 四:原生接口
getInitialState:function(){
//刷api接口的时候,组件还未渲染
return {
strikes:,
}
}
与this.state.strikes是返回的一个对象。 componentDidMount:function(){
//组件渲染完成,render渲染之前 } this.setState({strikes:this.state.strikes+}) 五:样式设计
render:function(){
var countStytle={
color:this.props.color,
fontSize:"14px",
padding:"10px",
backgroundColor:"#EEE" }
return (
<div className="letter" style={countStyle}>hello world</div>
)
} 六:react组件的生命周期 componentWillMount componentDidMount componentWillUnmount componentWillUpdate componentDidUpdate shouldComponentUpdate componentWillReceiveProps 组件接口:
顺序: getDefaultProps:function(){
//组件加载前被调用
//返回的是this.props
} getInitialSate:function(){
//返回的是this.state
} componentWillMount:function(){
//挂载到指定节点之前,会先调用这个函数
} render:function(){
return ()
} componentDidMount:function(){
//组件已经成功滴被浏览器加载了
} ======当setState()后,组件状态对象改变。=========
=====周期顺序===============
shouldComponentUpdate:function(newProps,newState){
//返回true,render
//返回false,不会render,界面不会改变
if(newState.count<){
return true
}else{
return false
}
} componentWillUpdate:function(){
//
rerurn;
} render:function(){
//
} componentDidUpdate:function(){
//
} React组件的生命周期机制:
componentWillUnmount
//节点销毁,从dom拿掉 用到调用Dom的api,把这个组件消亡掉:
ReactDOM.unmountComponentAtNode(destination) =====================
组件属性更改:调用顺序: componentWillReceiveProps:function(newProps){
//当组件的属性一旦更改,调用这个方法
return {};
} shuouldComponentUpdate:function(newProps,newState){
//
} componentWillUpdate render 绘制完成。 componentDidUpdate

略。

React组件,React和生命周期的更多相关文章

  1. 《React Native 精解与实战》书籍连载「React Native 中的生命周期」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  2. React Native 中 component 生命周期

    React Native 中 component 生命周期 转自 csdn 子墨博客  http://blog.csdn.net/ElinaVampire/article/details/518136 ...

  3. react实战 系列 —— React 的数据流和生命周期

    其他章节请看: react实战 系列 数据流和生命周期 如何处理 React 中的数据,组件之间如何通信,数据在 React 中如何流动? 常用的 React 生命周期方法以及开源项目 spug 中使 ...

  4. Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...

  5. vue生命周期及使用 && 单文件组件下的生命周期

    生命周期钩子 这篇文章主要记录与生命周期相关的问题. 之前,我们讲到过生命周期,如下所示: 根据图示我们很容易理解vue的生命周期: js执行到new Vue() 后,即进入vue的beforeCre ...

  6. Django组件---Django请求生命周期和中间件

    Django组件---Django请求生命周期和中间件 Django请求生命周期 说明: client代表浏览器,浏览器的内部为我们封装了socket,Django的WSGI模块也为我们封装了sock ...

  7. React Native 学习-组件说明和生命周期

    组件的详细说明(Component Specifications) 当通过调用 React.createClass() 来创建组件的时候,你应该提供一个包含 render 方法的对象,并且也可以包含其 ...

  8. react系列(一)JSX语法、组件概念、生命周期介绍

    JSX React中,推出了一种新的语法取名为JSX,它给了JS中写HTML标签的能力,不需要加引号.JSX的语法看起来是一种模板,然而它在编译以后,会转成JS语法,只是书写过程中的语法糖. JSX的 ...

  9. 前端笔记之React(四)生命周期&Virtual DOM和Diff算法&日历组件开发

    一.React生命周期 一个组件从出生到消亡,在各个阶段React提供给我们调用的接口,就是生命周期. 生命周期这个东西,必须有项目,才知道他们干嘛的. 1.1 Mouting阶段[装载过程] 这个阶 ...

  10. React(v16.8.4)生命周期详解

    当前版本v16.8.4 装载过程(组件第一次在DOM树中渲染的过程): constructor(常用) -> getInitialState(v16.0已废弃) -> getDefault ...

随机推荐

  1. MySQL优化之SQL耗时瓶颈 SHOW profiles

    1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro%'; 或者 SELECT @@profiling; 2.开启profiling SET profilin ...

  2. DragonBones龙骨发布后在Egret中的位置

    DragonBones发布后的动画,加载到Egret中场景中,原点的位置在哪呢? DragonBones中的图片位置 导出 加载到Egret中.可见DragonBones中的图片位置原点左下方(0,0 ...

  3. Altium Designer 输出 gerber 光绘文件的详细说明

    Altium Designer 输出 gerber 光绘文件的详细说明 PCB画好后,我们需要输出光绘文件交给制版厂家.由此,输出光绘文件的重要性就显出来了. 先复习一下介绍各层的定义吧,哈哈 (1) ...

  4. Centos 7.x临时的网络与路由配置

    今天在虚拟机上安装了Centos 7.1操作系统,使用的最小化安装,安装完成后准备使用ifconfig命令时,发现命令不存在,如下: 心想肯定是新版的Centos 系统默认情况下没有使用ifconfi ...

  5. 【BZOJ1004】[HNOI2008]Cards Burnside引理

    [BZOJ1004][HNOI2008]Cards 题意:把$n$张牌染成$a,b,c$,3种颜色.其中颜色为$a,b,c$的牌的数量分别为$sa,sb,sc$.并且给出$m$个置换,保证这$m$个置 ...

  6. ios三张图片组合一张

    - (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 { UIGraphicsBeginImageContext(imag ...

  7. Listview多tab上滑悬浮

    extends:http://blog.163.com/xueshanhaizi@126/blog/static/37250245201410541721892/ 1:近期要做一个含有两个tab切换页 ...

  8. Unity3D笔记十八 GL图像库

    1.绘制2D图像的时需要使用GL.LoadOrtho()方法来将图形映射到平面中. 2.所有绘制相关的内容都要写在OnPostRender()方法中. 3.有关GL图像库的脚本需要绑定到Hierarc ...

  9. postgresql----数组类型和函数

    postgresql支持数组类型,可以是基本类型,也可以是用户自定义的类型.日常中使用数组类型的机会不多,但还是可以了解一下.不像C或JAVA高级语言的数组下标从0开始,postgresql数组下标从 ...

  10. img图片不存在时设置默认图片

    当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验.即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用. 其实,可 ...