美文网首页
react--state

react--state

作者: 林ze宏 | 来源:发表于2018-01-15 14:27 被阅读0次

state属性:

  • state对于模块来说,属于自身属性;
  • 初始化:this.state = {name:'xiaoming'};
  • 初始化可以放置在构造函数 constructor 中;
  • 修改state :this.setState({name: 'xiaohong'});
  • 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函数,和生命周期的函数类似。

相关文章

  • react--state

    state属性: state对于模块来说,属于自身属性; 初始化:this.state = {name:'xiao...

  • React--State & 生命周期

    常用生命周期 constructor() 用途: 初始化 props、state,用来写bind this sho...

网友评论

      本文标题:react--state

      本文链接:https://www.haomeiwen.com/subject/mxzroxtx.html