黑马程序员技术交流社区
标题:
【上海校区】react生命周期
[打印本页]
作者:
梦缠绕的时候
时间:
2018-8-8 09:44
标题:
【上海校区】react生命周期
eact生命周期
constructor(props, context)
构造函数,在创建组件的时候调用一次。
void
componentWillMount
()
在组件挂载之前调用一次。如果在这个函数里面调用
setState
,本次的
render
函数可以看到更新后的
state
,并且只渲染一次。
void
componentDidMount
()
在组件挂载之后调用一次。这个时候,子主键也都挂载好了,可以在这里使用
refs
。
void
componentWillReceiveProps
(nextProps)
props
是父组件传递给子组件的。父组件发生
render
的时候子组件就会调用
componentWillReceiveProps
(不管
props
有没有更新,也不管父子组件之间有没有数据交换)。
bool
shouldComponentUpdate
(nextProps, nextState)
组件挂载之后,每次调用
setState
后都会调用
shouldComponentUpdate
判断是否需要重新渲染组件。默认返回
true
,需要重新
render
。在比较复杂的应用里,有一些数据的改变并不影响界面展示,可以在这里做判断,优化渲染效率。
void
componentWillUpdate
(nextProps, nextState)
shouldComponentUpdate
返回
true
或者调用
forceUpdate
之后,
componentWillUpdate
会被调用。
void
componentDidUpdate
()
除了首次
render
之后调用
componentDidMount
,其它
render
结束之后都是调用
componentDidUpdate
。
componentWillMount
、
componentDidMount
和
componentWillUpdate
、
componentDidUpdate
可以对应起来。区别在于,前者只有在挂载的时候会被调用;而后者在以后的每次更新渲染之后都会被调用。
ReactElement
render
()
render
是一个
React
组件所必不可少的核心函数(上面的其它函数都不是必须的)。记住,不要在
render
里面修改
state
。
void
componentWillUnmount
()
组件被卸载的时候调用。一般在
componentDidMount
里面注册的事件需要在这里删除。
作者:
不二晨
时间:
2018-8-16 17:20
奈斯
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2