注意的是函数组件的生命周期使用useEffect进行
受控组件以及非受控组件
受控组件
1.没有维持自己的状态
2.数据由父组件控制
3.通过props获取当前值,然后通过回调通知更改
非受控组件
1.保持自己的状态
2.数据由dom控制
3.refs用于获取当前值
Refs
相对于之前的id或者name,可以指定某个元素
下面是他的使用场景
1.需要管理焦点、选择文本或者媒体播放
2.触发式动画
3.第三方dom系统集成
对于react的api
setState
设置状态
为了提高react性能,批量执行state和dom渲染。setState()总是会触发一次组件重绘
生命周期
开始—getDefaultProps—getInitalState—componentWillMount—render—componentDidMount
componentWillMount:在渲染前执行,在客户端和服务端都会执行
componentDidMount:仅在第一次渲染后再客户端执行
componentWillReceiveProps:从父类中接收到props,并且再调用另一个渲染器前调用
shouldComponentUpdate:根据特定条件返回true或者false,如果你希望更新组件,采用true,否则返回false
componentWillUpdate:dom渲染之前调用
componentDidUpdate:在渲染发生后立即调用
componentWillUnmount:从dom卸载组建后调用,用于清理内存空间