react--state

2018-01-15  本文已影响0人  林ze宏

state属性:

import React from 'react';

export default class BodyIndex extends React.Component{

  constructor() {
    super(); // 调用基类的所有初始化方法
    this.state = { // 组件两个重要属性之一(state:(对模块来说,属于 自身属性)主要是定义自身组件的一些属性;props:(对模块来说,属于 外来属性)接受外面组件传进来的数据)。
      name: 'xiaoming',
      age: 20
    }
  }

  render(){
    setTimeout(() => {
       this.setState ({ // 改变state属性,setState
         name: 'honghong'
       })
    }, 2000);
    return (
      <div>
        <h2>页面的主体内容</h2>
        <p>{this.state.name}</p> 
        <p>{this.state.age}</p>
      </div>
    )
  }
}

setState的回调函数

不在回调中使用参数,我们在设置state后立即使用state:
this.state = {foo: 1};
this.setState({foo: 123});
console.log(this.state.foo);
// 1


在回调中调用设置好的state
this.state = {foo: 2};
this.setState({foo: 123}, ()=> {
    console.log(foo);
    // 123
});

关于setState的回调函数的作用大概如此,这个函数相当于componentDidUpdate函数,和生命周期的函数类似。

上一篇 下一篇

猜你喜欢

热点阅读