ReactJS:componentDidUpdate和setState的第二个参数有什么区别?

Era*_*mar 8 lifecycle reactjs

这两个功能有什么区别吗?(除了他们的论点)似乎那些方法有相同的触发器,不是吗?

感谢您的帮助 :)

Ale*_*erg 5

componentDidUpdate 每当重新渲染组件时都会调用,这可能是由于以下原因之一:

  • 状态改变
  • 致电 forceUpdate
  • 父组件重新渲染(React.render如果是顶级组件,则重新调用)

setState一次状态转移已经完成回调才会被调用和组件已重新呈现。


Cri*_*tik 3

区别在于这两者的用法:componentDidUpdate()每个组件只需声明一次,而callback的参数需要在调用方法的setState()每个地方传递。setState()

这就像将所有鸡蛋放在一个篮子中:您不需要携带不同的袋子,但是如果您可能想煮一些鸡蛋和一些鸡蛋来制作煎蛋卷,在这种情况下,您需要使用多个袋子。