生命状态:
Mounting:已插入真实DOM节点
Updating:正在重新渲染
Unmounting:已经移出真实节点
Mounting
Updating
大致顺序:
两个挂载:
componentWillMount()
1、服务端和客户端都只调用一次
2、在初始化渲染之前调用
所以,如果这里调用setState,则会在render中感知到state的变化。
componentDidMount()
1、仅在客户端有效
2、初始化渲染之后立即调用一次
这时已经有成型的DOM树了,所以可以通过this.getDOMNode()来获取DOM
四个更新
componentWillReciverPros(nextProps)
1、在接收到新的参数(props)时,会被执行
2、在render之前被调用
3、在初始化渲染的时候,不会被调用
若调用this.setState()并不会引起第二次渲染。
shouldComponentUpdate(nextProps, nextState)
1、在接收到新的 props或state时,调用
2、在render之前被调用
3、初始化渲染不调用
若返回false,则组件不会更新(即render()不会被执行),同时,componentWillUpdate和componentDidUpdate也不会被执行。
componentWillUpdate(nextProps, nextState)
1、在接收到新的 props或state前,立刻调用
2、初始化渲染不调用
不能使用this.setState
componentDidUpdate(prevProps, prevState)
1、在组件更新已经同步到DOM上之后调用
2、初始化渲染不调用
一个移除
componentWillUnmount
在组件将被移出的时候调用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。