React Hooks异步最佳实践

R J*_*404 5 javascript reactjs react-hooks

现在使用use useEffect,可以componentDidMount用Hooks 替代React组件。

方案“对服务器的初始唯一调用”:

为此,DependencyList(的第二个参数useEffectuseEffect应在每次为空数组时输入,否则应用程序将发送每个状态更改以将获取请求发送到服务器。

这意味着,这是getData的最佳做法

useEffect(() => {
  console.log("useEffect, fetchData here");
}, []);
Run Code Online (Sandbox Code Playgroud)

[]用作DependencyList参数来禁用服务器请求每个状态更改的最佳实践是吗?

链接到github https://github.com/facebook/react/issues/14326

Don*_*ody 4

是的。这是最好的方法。

\n\n

来自反应文档

\n\n
\n

传入一个空的输入数组 [] 告诉 React 你的效果不依赖于组件中的任何值,因此效果只会在安装时运行并在卸载时清理;它不会在更新时运行\xe2\x80\x99。

\n
\n\n

useEffect是一个非常强大、也是我最喜欢的钩子。您可以通过将一个或多个变量传递到第二个参数数组来监视它们的状态更改,或者您可以仅使用您正在使用的方法监听安装和卸载。

\n