React生命周期需要关心的问题

&& 或是 ? : 条件渲染的方式
{ show ? <PrimaryButton></PrimaryButton> :
    <DefaultButton></DefaultButton>
}
{show && this.renderDetail()}

上面的两种条件渲染的方式,Jsx式的组件或是函数式的组件,没有满足渲染条件的组件不会被渲染,也就不会触发componentWillMount,componentDidMount等周期函数。

componentWillMount

1.可以State,但是不会触发重新render,因为还没有进行到render那一步。

2.在这里尽量不要去进行AJAX等请求,因为你不能保证请求会在mount之前完成,也就是说组件还没有挂载,并不一定能进行setState.

componentWillReceiveProps

1.在父组件发生重新render或者是props改变的时候会触发

2.在组件初始化阶段接收props不会触发,因为这个周期函数需要比较新旧props,但是初始化阶段没有旧的props.

何时触发render

在组件运行阶段进行的setState或者是触发componentWillReceiveProps函数,将会shouldComponentUpdate 来决定是否进行重新render,而默认的shouldComponentUpdate总是返回true,也就会造成重新render

但是,重新render不代表DOM元素会更新,因为React生成的首先是VNode,只有DOM元素对应在VNode中的那部分改变了才会更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值