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. 【转】C++:MessageBox的常见用法

    一    函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口 ...

  2. shell中的eval

    eval语法 eval arg1 arg2 ... eval的作用就是将后面的参数arg1 arg2等等当成一个pipeline,然后重新执行shell处理pipeline的流程(有关pipeline ...

  3. [Oracle] 浅谈Sequence

    Oracle的Sequence是一种数据库对象,它可以生成有序数字,主要用于主键的自动生成.如果没有Sequence,主键的自动生成必须得在代码逻辑里实现,大致过程是:获取当前主键值,新主键值=当前主 ...

  4. C# 读取EXCEL数据

       /// <summary> /// 读取EXCEL数据 /// </summary> /// <param name="Path">< ...

  5. phpmyadmin自增字段

    自增字段必须为primary key 2种方法: 1- ALTER TABLE `qr_role` CHANGE `ROLE_ID` `ROLE_ID` INT(11) NOT NULL AUTO_I ...

  6. OOAD基本概念

    学习目标: 1.理解与掌握面向对象的概念与方法. 2.使用UML. 3.完成面向对象的分析与设计工作. 4.了解OO的设计原则及一些典型的设计模式 什么是面向对象? 面向对象(Object-Orien ...

  7. Apache主站点配置

    Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. Apache主站点基本配置:ServerRoot "/mnt/software/a ...

  8. JQuery 获取自身的HTml代码

    $('.top').append($(this).prop("outerHTML"));

  9. DeDe调用指定栏目ID下的文章

    *注: row: 调用条数 titlelen: 字数 typeid: 调用的栏目ID orderby: 按照升序对记录进行排序 idlist: 提取特定文档为空 infolen='40' 内容简介长度 ...

  10. LinkButton中添加删除确认框

    LinkButton1.Attributes.Add("onclick", "javascript:return confirml('确认删除?');");