当组件在子组件中接收道具时,进行HTTP调用的最佳位置是什么?

时间:2019-06-16 05:55:19

标签: reactjs

当组件在子组件中接收道具时,进行HTTP调用的最佳位置是什么?

这是我的代码:https://codesandbox.io/s/sharp-keldysh-rivhz

我有Test个子组件。收到新道具时,我有两种选择来调用HTTP请求

  1. componentWillReceiveProps
  2. componentDidUpdate

发出HTTP请求的最佳位置在哪里?在我的示例中,我采用componentDidUpdate,对吗?

1 个答案:

答案 0 :(得分:0)

使用componentWillReceiveProps(不建议使用)或其替代品getDerivedStateFromProps

  在初始安装和后续更新上,都在调用render方法之前立即调用

getDerivedStateFromProps 。它应该返回一个对象以更新状态,或者返回null则不更新任何内容。

它避免了不必要的重新渲染,因为它是在render方法之前调用的。

您可以使用componentDidUpdate,但只有在运行更新后才能使用,这意味着您必须为getDerivedStateFromProps调用componentDidUpdate才能看到这些更改。