React基础概念

  1. React是基于组件化的开发,通过组件的组合,让web应用能够实现桌面应用的效果。
  2. React更有利于单页应用的开发。
  3. 并非MVC框架,只能算是V
  4. 具有单项数据流的特点
  5. 优势:代码复用率比较高。虚拟DOM,减少真实DOM操作,能够能够提高渲染的效率,

State 属性

this.props只能获取数据,不能修改,不能进行设置操作。

this.props和this.state的区别: this.state:每个组件都有state属性(独立的属性),state有读取和修改的功能。 能够做到虚拟DOM到真实DOM的修改,不能进行父组件向子组件的船值。 this.props:可以由父组件传值给子组件。

  1. 初始化State:
 getInitialState:function(){
return {
cnt:0
}
}
 
  1. 设置State
  2. 获取state的值
 count:function(){
this.setState({
cnt: this.state.cnt+1
})
}, <label>{this.state.cnt}</label>
 

react 中的input输入框不能修改

 defaultValue = {this.state.cnt}    //默认value
onChange={} //只要改变输入框中的值,就会触发事件
 

获取真实DOM节点

  1. 通过属性获取

    对要获取的input框添加 ref=""属性 (this.refs.pwdInput.refs.input.value)

  2. 函数方法

    对要获取的input框添加

     ref= {function(ele){   //父组件
    this._pwd = ele;
    }.bind(this)} ref= {function(ele){ //子组件
    this._input = ele;
    }.bind(this)} //使用的时候 this._pwd._input
     

    也可用箭头函数 ref = {(ele)=>this._input = ele} //子组件 ref = {(ele)=>this._pwd = ele} //父组件

Ajax

另一种Ajax提交方式:

    利用promise 异步模型。nodejs内部也是使用promise模型实现的单线程异步原理。

    fetch()方法,采用promise实现异步提交,没有用到XHR对象。、

组件的生命周期

三个方法

  1. componentWillMount //组件渲染之前
  2. render //组件渲染
  3. componentDidMount //组件渲染后

第一个和第三个在组件的生命周期中只执行一次。

React数据传递的更多相关文章

  1. React中父组件与子组件之间的数据传递和标准化的思考

    React中父组件与子组件之间的数据传递的的实现大家都可以轻易做到,但对比很多人的实现方法,总是会有或多或少的差异.在一个团队中,这种实现的差异体现了每个人各自的理解的不同,但是反过来思考,一个团队用 ...

  2. react生命周期,中间件、性能优化、数据传递、mixin的使用

    https://github.com/lulujianglab/blog/issues/34 一.生命周期 1,初始化的执行顺序,初始生命周期执行过程详解 class initSate extends ...

  3. react之传递数据的几种方式props传值、路由传值、状态提升、redux、context

    react之传递数据的几种方式 1.父子传值 父传值:<子的标签 value={'aaa'} index={'bbb'}></子的标签> 子接值:<li key={thi ...

  4. react组件的数据传递

    在react中,为了解决html标签构建应用的不足,将公共的功能单独抽离成一个文件作为一个组件,在使用的地方按需引入,既然是组件彼此调用,就会涉及到父子组件的通信,下面主要来总结简单的组件通信. 1, ...

  5. React Native移动开发实战-3-实现页面间的数据传递

    React Native使用props来实现页面间数据传递和通信.在React Native中,有两种方式可以存储和传递数据:props(属性)以及state(状态),其中: props通常是在父组件 ...

  6. React学习(2)—— 组件的运用和数据传递

    React官方中文文档地址:    https://doc.react-china.org/ 了解了组件之后,就需要理解“Props”和“State”的用法.首先来介绍State,State按照字面意 ...

  7. React中父子组件数据传递

    Vue.js中父子组件数据传递:Props Down ,  Events Up Angular中父子组件数据传递:Props Down,  Events  Up React中父子组件数据传递:Prop ...

  8. 《React-Native系列》RN与native交互与数据传递

    RN怎么与native交互的呢? 下面我们通过一个简单的Demo来实现:RN页面调起Native页面,Native页面选择电话本数据,将数据回传给RN展示. 首先是 Native侧 1.MainAct ...

  9. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

随机推荐

  1. Java 图片切圆角,消除锯齿

    public static BufferedImage setBorderRadius(BufferedImage srcImage, int radius){ int width = srcImag ...

  2. (转)C# DateTime格式化大全

    //c datetime 格式化 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2 ...

  3. windows身份验证,那么sqlserver的连接字符串的

    Data Source=计算机名称或ip地址;Initial Catalog=数据库名称;Integrated Security=True windows身份验证不需要psw的Provider=SQL ...

  4. Android 虚拟机快捷键

    何须这样麻烦,直接用快捷键就行了,你用鼠标点来点去怎么还不如用快捷键来得快:一下是快捷键: Home键(小房子键) 在键盘上映射的就是home键,这倒是很好记. Menu键 用于打开菜单的按键,在键盘 ...

  5. Visual Studio发布项目到远程服务器的步骤

    第一步: 需要远程服务器上安装Web Deploy ,下载地址:http://www.iis.net/downloads/microsoft/web-deploy PS.安装时选择完全安装. 第二步: ...

  6. PHP扩展开发(2) - VS2013环境搭建

    1. 安装VS2013 2. Cygwin安装 3. 下载Windows的PHP源码 4. 修改~/ext/ext_skel_win32.php     加上 $cygwin_path = 'c:\c ...

  7. .cshrc

    使用set和setenv命令可以设置shell选项或者列出shell变量 在C Shell 里, set 定义局部变量, setenv定义全局变量   1.set   set 变量名 = 内容: s2 ...

  8. AngularJS自定义表单验证

    <!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...

  9. mysql日志文件相关的配置【2】

    1.二进制日志是什么? mysql 的二进制日志用于记录数据库上做的变更. 2.二进制日志什么时间写到磁盘 1.总的来说二进制日志会在释放锁之前就写入磁盘.也就是说在commit完成之前:client ...

  10. [转]IBInspectable / IBDesignable

    原文:http://www.cocoachina.com/ios/20150227/11202.html 无论陈词滥调多少次,比起一个需要我们记住并且输入什么的界面来说,如果替换成我们能够看见并可控制 ...