React 初学整理
1,通过createElement创建元素 HELLO Word
ps:切记组建名称首字母大写
2,虚拟DOM
在虚拟DOM上操作 通过render来渲染真是DOM
3,JSX
JSX 是对JS的语法扩展,在JS中类似HTML的方法创建React
var JsxDom = React.createClass({
render:function(){
var html =<div>
</div>
return html;
}
4,Props
无状态组件 表现形式:通过外部传入的props属性,根据自身状态来做出不同的反应。
var JsxDom = React.createClass({
render:function(){
var num = this.props.set;
var style ={
'color':'red',
'fontSize':'24px' //驼峰写法
}
var html =<div>
</div>
return html;
}
});
})
React.render(<JsxDom ></JsxDom >,document.getElementById("XXX"));
5,State
状态机:A组件里有B组建 A组件的一个state改变 会重新渲染render函数 B组件也重新绘制
- state - 组件的状态变量 保存组件的当前状态,可以再任何时候通过this.state来获取到当前状态
- getInitialState() - 设置组件初始状态
- setState(currentState) - 设置组件当前状态 会重新渲染
6,this.props和this.state
this.props是指那些一旦定义了就不在修改的特性。this.state会随着用户的交互而随之产生变化。
7,表单
(1)文本输入框
不要使用value属性设置文本输入框元素的初值,应当使用defaultValue:
<input type="text" defaultValue="demo"/>
8,生命周期
组建的生命周期分成三种状态
。Mounting:已插入真实DOM
。Updating:正在被重新渲染
。Unmounting:已移除真实DOM
React 为每个状态都提供了两种处理函数,will函数在进入状态之前调用,did函数在进入状态之后调用,三种状态5种处理函数。
。componentWillMount() ------组件实例即将挂接(初次渲染)时被调用,这个方法在整个生命周期中只会被调用一次
。componentDidMount() -------组建实例挂接(初次渲染)后被调用,这个方法在整个生命周期中只会被调用一次
。componentWillUpdate(object nextProps, object nextState) ------组件实例即将重新渲染时被调用,这个方法在初次渲染时不会被调用。注意:不能再次方法内调用setState().
。componentDidUpdate(object prevProps, object prevState) -----组建实例重新渲染后被调用
。componentWillUnmount() ---- 组件实例即将从DOM树移除时被调用,这个方法在整个生命周期中只会被调用一次
此外 React还提供了2中特殊的状态处理函数
。componentWillReceiveProps(object nextProps):已加载组件收到新的参数时调用。参数object表示即将应用到组件实例上的新属性值。这个方法在初次渲染时不会被调用。在此方法内调用setState()不会引起重新渲染。
。shouldComponentUpdate(object nextProps, object nextState)组件判断是否重新渲染时调用
React 初学整理的更多相关文章
- React笔记整理
大概大半年时间都在用react写项目,一直在笔记上零零星星地记录着,在新的一年即将到来之际,打算整理整理发出来. 一.React是什么? React是Facebook开源的用于构建用户界面的javas ...
- react初学之render返回加括号的问题
刚在学习react的初始阶段,跑了一段代码 var Mydom = React.createClass({ render:function(){ return <div> <inp ...
- webpack react 错误整理
1.ERROR in ./src/entry.js Module build failed: SyntaxError 解决方法: 安装babel-preset-react, npm install ...
- React 初学
React.createClass({}); getInitialState,this.setState({}); {}解读代码块,外层不要加引号,比如onChange={this.handleCha ...
- react初学
react和vue一样都是mvvm的这种开发模式. 下载js文件 引入HTML文件里 <!DOCTYPE html> <html> <head> <scrip ...
- React初识整理(五)--Redux和Flux(解决状态传递问题)
Flux 1.引入:在React的应⽤中,状态管理是⼀个⾮常重要的⼯作.我们不会直接对DOM节点进⾏操作,⽽是通过将数据设置给state,由state来同步UI,这种⽅式有个潜在的问题,每个组件都有独 ...
- React初识整理(四)--React Router(路由)
官网:https://reacttraining.com/react-router 后端路由:主要做路径和方法的匹配,从而从后台获取相应的数据 前端路由:用于路径和组件的匹配,从而实现组件的切换. 如 ...
- React初识整理(二)--生命周期的方法
React生命周期主要有7中: 1. componentWillMount() :组件将要挂载时触发 ,只调用1次 2. componentDidMount() :组件挂载完成时触发,只调用1次 3. ...
- React初识整理(一)
一.React的特点 1.自动化的UI状态管理:自动完成数据变化与界面效果的更新. 2.虚拟DOM:创建1个虚拟的dom节点树,放在内存里(内存修改数据效率高),数据变化时先修改内存里的虚拟DOM,然 ...
随机推荐
- Gradle 脚本剪片---copy
Gradle是以Groovy语言为基础,基于DSL语法的自动化构建工具,一个构建脚本能够包含任何Groovy语言元素,每个脚本都是UTF-8编码的文件. 6-1 Project对象API 前面我们说过 ...
- 初探 Ext JS 6 (sencha touch/ext升级版)
Sencha Touch 现在已全面升级至Ext Js 6,那么我们如何使用他们呢? 首先去官网下载最新的sdk和帮助文档 sdk下载地址:https://www.sencha.com/product ...
- POJ 1816 Wild Words
Wild Words Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4412 Accepted: 1149 Descri ...
- webkit特有的css属性
内容参见:http://css-infos.net/properties/webkit 具体的定义网页里有详细说明.做有一些html5的应用的时候如果不能很好的适应手机,可以到这上面去找找方法-web ...
- VS2012未找到与约束ContractName...匹配的导出
用VS2012创建ARCGIS插件项目时,提示“未找到与约束ContractName...匹配的导出”,此前一直都是正常的额 经查,发现是近期系统相关更新导致,解决办法有两种途径: 一是删除近期更新的 ...
- epoll源码实现分析[整理]
epoll用法回顾 先简单回顾下如何使用C库封装的3个epoll相关的系统调用.更详细的用法参见http://www.cnblogs.com/apprentice89/archive/2013/05/ ...
- android基础---->JSON数据的解析
上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...
- Direct3D11学习:(一)开发环境配置
转载请注明出处:http://www.cnblogs.com/Ray1024 从今天开始,开启一个新的系列:Direct3D11的学习教程. 因为一直对3D方面比较感兴趣,最近决定开始学习D3D知 ...
- Android 学习笔记之AndBase框架学习(五) 数据库ORM..注解,数据库对象映射...
PS:好久没写博客了... 学习内容: 1.DAO介绍,通用DAO的简单调度过程.. 2.数据库映射关系... 3.使用泛型+反射+注解封装通用DAO.. 4.使用AndBase框架实现对DAO的调用 ...
- TinyFox在VS2015上的调试器
这个一个TinyFox在VS2015上的调试工具 : 开源了 https://github.com/maxzhang1985/TinyFoxDEBUG 开发这个工具的初衷,是想更便捷的调试Nancy ...