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的地方