ReactJS:componentDidUpdate和setState的第二个参数之间有什么区别?
这两种功能之间有什么区别吗?(除了他们的论点) 这些方法似乎有相同的触发器,不是吗ReactJS:componentDidUpdate和setState的第二个参数之间有什么区别?,reactjs,lifecycle,Reactjs,Lifecycle,这两种功能之间有什么区别吗?(除了他们的论点) 这些方法似乎有相同的触发器,不是吗 感谢您的帮助:)区别在于这两种方法的用法:componentdiddupdate()只需要为每个组件声明一次,而setState()的回调参数需要在调用setState()方法的每个位置传递 这就像把你所有的鸡蛋放在一个篮子里:你不需要随身携带不同的袋子,但是如果你想煮一些鸡蛋和一些用来做煎蛋饼,在这种情况下,你需要使用多个袋子。每当组件重新渲染时,都会调用componentdiddupdate,原因可能是:
感谢您的帮助:)区别在于这两种方法的用法:
componentdiddupdate()
只需要为每个组件声明一次,而setState()
的回调
参数需要在调用setState()
方法的每个位置传递
这就像把你所有的鸡蛋放在一个篮子里:你不需要随身携带不同的袋子,但是如果你想煮一些鸡蛋和一些用来做煎蛋饼,在这种情况下,你需要使用多个袋子。
每当组件重新渲染时,都会调用componentdiddupdate
,原因可能是:
- 状态的变化
- 调用
forceUpdate
- 父组件重新渲染(或者在顶级组件的情况下调用
)React.render
setState
回调只有在状态转换完成并且组件重新呈现后才会被调用。你说得对,我不需要多个袋子来煮煎蛋饼