鍍金池/ 問答/HTML/ componentwillreceiveprops()執(zhí)行多次是為什么?

componentwillreceiveprops()執(zhí)行多次是為什么?

在componentwillreceiveprops里面打印nextProps,發(fā)現(xiàn)打印了4次,但是props只發(fā)生了一次變化,為什么會打印4次呢?

回答
編輯回答
忠妾

估計是在什么地方偷偷setState了吧
在render里寫匿名函數(shù)也會觸發(fā)多余的渲染
比如

<div onClick={ () => { console.log('test') } }></div>
2017年5月11日 17:11
編輯回答
柚稚

當父組件的props變化或者render觸發(fā)時,都會觸發(fā)componentWillReceiveprops,不是本身的props變化才觸發(fā)。

2018年7月12日 05:48
編輯回答
硬扛

打印一下每次的nextpros都是啥,這些props都是從哪里傳過來的

2018年1月8日 00:12
編輯回答
孤影

父元素的render函數(shù)被調用,子組件就會觸發(fā)componentWillReceiveProps。不管props有沒有改變。

2018年2月1日 10:17