state&生命周期

类和函数声明的区别:

函数声明的组件没有生命周期,类声明的组件有它自己的生命周期和局部状态等等特性

之前提过元素渲染之后是不可变的,为了解决这个问题,我们需要做以下做来实现改变

1.组件声明为类声明

2.添加一个类构造函数来初始化

  class Welcome extend React.Component{

    constructor(props){

      super(props);

      this.state = {date:new Date()}

    }

    render(){

      return(

        <div>现在是:{this.state.date}</div>

      )

    }

  }

3.周期函数:

  当组件输出到 DOM 后会执行 componentDidMount() 钩子。

  componentWillUnmount()关闭之前执行的钩子

state里面的内容值,不能直接改(this.state.date = ‘111’)(这个为错误写法,此种写法不会渲染页面)

如果想要改变 需要执行this.setState({date:new date()})。

构造函数是唯一能初始化state的地方

 

posted @ 2019-09-03 14:42  前端小可爱  阅读(306)  评论(0编辑  收藏  举报