当组件在子组件中接收道具时,进行HTTP调用的最佳位置是什么?
这是我的代码:https://codesandbox.io/s/sharp-keldysh-rivhz
我有Test
个子组件。收到新道具时,我有两种选择来调用HTTP请求
发出HTTP请求的最佳位置在哪里?在我的示例中,我采用componentDidUpdate
,对吗?
答案 0 :(得分:0)
使用componentWillReceiveProps(不建议使用)或其替代品getDerivedStateFromProps
在初始安装和后续更新上,都在调用render方法之前立即调用getDerivedStateFromProps 。它应该返回一个对象以更新状态,或者返回null则不更新任何内容。
它避免了不必要的重新渲染,因为它是在render方法之前调用的。
您可以使用componentDidUpdate
,但只有在运行更新后才能使用,这意味着您必须为getDerivedStateFromProps
调用componentDidUpdate
才能看到这些更改。