react.js 从零开始(四)React 属性和状态详解

属性的含义和用法:

1、属性的含义。

  props=properties

  属性:一个事物的性质和关系。

  属性往往与生俱来,不可以修改。

2. 属性的用法。

<Helloworld name=??? />

 这个name 可以是 变量 ,对象,数组,函数表达式的值。 

var props={
a:1,
b:2
 }
<Helloworld {...props} />

这样react就会自动遍历props对象并添加到属性中去。

状态的含义和用法:

1.状态的含义。

  state

  状态:事物所处的环境。

  状态是由事物自行处理,不断的发生变化。

  getInitialState:初始化实例是特有的状态。

  setState:改变组件的状态。

2,状态的用法

  

var MessageBox = React.createClass({
  getInitialState: function() {
    return {nameWithQualifier: ‘Mr.bbb‘};
  },

  render: function() {
    return <div>{this.state.nameWithQualifier}</div>;
  }
});

var dom=React.render(<MessageBox />, mountNode);
dom.setState({
nameWithQualifier:"223"
});
 

首先可以在初始化的时候给状态赋值。

接着可以通过:

setState来改变状态。状态改变以后就会触发render函数。重新渲染视图。。

  

属性和状态对比:

1.相似点:

  都是js对象。

  都会触发render 更新。

  都具备确定性。

2. 不同点:

  

总结:总之,学习到现在挺顺利的。下一节继续加油吧。。大家下节见。

时间: 2024-10-11 17:52:20

react.js 从零开始(四)React 属性和状态详解的相关文章

netstat状态详解

一.生产服务器netstat tcp连接状态................................................................................ 2 1.1生产服务器某个业务LVS负载均衡上连接状态数量............................................... 2 1.2生产服务器某个业务web上连接状态数量...............................................

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons

TCP协议状态详解

原文出自:Vimer的程序世界 1.建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器.这是三次握手过程中的报文1.(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志.因此它表示对刚才客户端SYN报文的回应:同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯.(3) 客户必须再次回应服务段一个ACK报文,这是报文段3. 2.连接终止协议(四次握手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭.这原则是当一

用netstat查看网络状态详解

--用netstat查看网络状态详解 -----------------------------2014/06/11 一.Linux服务器上11种网络连接状态:                                          图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手 注:以下说明最好能结合"图:TCP的状态机"来理解. SYN: (同步序列编号,Synchronize Sequence

[转]iOS应用程序生命周期(前后台切换,应用的各种状态)详解

转载地址:http://blog.csdn.net/totogo2010/article/details/8048652 iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的. iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的.在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验. //开发app,我们要遵循apple公司的一些指导原则,原则如下: 1.应用程序的状态 状态如下: Not running

Angular.js中处理页面闪烁的方法详解

Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染页面都需要消耗一定的时间,这个间隔可能很小,甚至让人感觉不到,这种情况一切正常,但这个时间也可能很长,这时候用户可能会看到满屏尽是{{xxxx}}.这种情况被叫做"Flash Of Unrendered Content (FOUC)(K)?and is always unwanted.".

js keyup、keypress和keydown事件 详解

js keyup.keypress和keydown事件  详解 js keyup.keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件. keydown event keypress event keyup event keydown事件发生在键盘的键被按下的时候,接下来触发keypress事件. keyup 事件在按键被释放的时候触发. 这三个事件在页面中的使用方法如下例: <input id=&quo

css3浏览器私有属性前缀使用详解

什么是浏览器私有属性前缀 CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分. 以下是几种常用前缀 -webkit- -moz- -ms- -o- -khtml-(现在基本都没有用了,被-webkit-取代) 举例来说,一个CSS3圆角的代码是: -webkit-border-radius: 50%; -o-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius

Android实习札记(1)---EditText属性之ImeOption详解

Android实习札记(1)---EditText属性之ImeOption详解 1)这个属性拿来干嘛的? 答:当我们往EditText等可以输入文字的UI控件的地方输入时,弹出的小键盘的 右下角的Enter键!你没听错,这个属性就是关于Enter键的!!! 我们可以通过ImeOption属性来设置enter键显示的内容,以及进行事件监听~ 2)如何修改Enter键显示的内容: 答:直接设置ImeOption属性即可,另外,使用第三方输入法可能出现不同的结果, 或者没变化,这里只以搜狗输入法为参考