【问题标题】:ReactJS: What is the difference between componentDidUpdate and the second parameter of setState?ReactJS:componentDidUpdate和setState的第二个参数有什么区别?
【发布时间】:2015-04-22 13:50:48
【问题描述】:

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

感谢您的帮助:)

【问题讨论】:

    标签: reactjs lifecycle


    【解决方案1】:

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

    • 状态变化
    • 致电forceUpdate
    • 父组件重新渲染(或在顶级组件的情况下再次调用React.render

    setState 回调只有在状态转换完成并且组件重新渲染后才会被调用。

    【讨论】:

      【解决方案2】:

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

      这就像把你所有的鸡蛋放在一个篮子里:你不需要随身携带不同的袋子,但是如果你可能想煮一些鸡蛋和一些用来做煎蛋卷,在这种情况下你可以使用多个袋子。

      【讨论】:

      • 你说得对,我不需要多个袋子来煮一个煎蛋
      猜你喜欢
      • 2021-01-29
      • 2017-02-25
      • 2019-04-27
      • 2022-11-27
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 2010-09-18
      相关资源
      最近更新 更多