React -- state

一、新建state

正常的react中,数据都是在传入的props对象中,但是props有个问题就是固定不变的,是不能修改的,所以需要state来把props里面的数据定义到state对象中来,这样就可以随意操作修改了

class Son extends React.Component {
    constructor(props) {
          super(props)
          this.state = {date: new Date()}
    }
}

上面的是typescript的类,个人大致理解就是在React.Component父类里面声明了一个Son子类,constructor方法就是用来继承父类的属性和数据的,通过在constructor方法和super()方法,Son子类就可以调用props和state,否则在里面写的函数,变量什么的是无法使用父类里面的数据的,父类的数据必须在super()里面的声明下

二、修改state

在react里面修改state对象里面的数据不是通过.key的方式,而是要直接修改对象的方式修改
另外state也不能直接使用赋值,而是必须在构造函数里面调用赋值

this.state.date = new Date() // 错的
this.setState({date: new Date()} )// 正确

修改state值是通过this.setState()构造函数实现的,不是直接改的

三、异步更新state

如果是异步更新state或者props,可以在this.setState()构造函数里面传入一个函数参数,而不用像之前那样传入对象参数,这个函数有两个参数,第一个就是state,第二个就是props
state属性

猜你喜欢

转载自www.cnblogs.com/zjh-study/p/10910573.html