1.静态组件:
- 第一次渲染组件,把函数执行
- 产生一个私有的上下文
- 把解析出来的props【含children】传递进来,是一个冻结的对象
- 对象返回jsx元素【virtualDOM】进行渲染。
- 第一次渲染完毕之后不会根据组件的某些操作进行更新,即内容不会再变了,所以称之为静态组件。除非触发父组件重新调用组件。
2.动态组件:类组件,带hooks的函数组件
1.有状态state,修改数据视图进行更新
2.在类组件中,
constructor(){
this.state={
num:123
}
}
//使用
{this.state.num}
//修改
this.setState({
num:456
},()=>{
//修改后执行的代码·
})
3.函数带hooks组件
let [num,setNum]=useState(12)
//修改
setNum(45)
//或者
setNum(num=>{
return 45
})