我应该在 useEffect 钩子中使用 IIFE 吗?

Should I use IIFE in useEffect hook?

在 useEffect 中使用 IIFE 是好的做法还是我应该声明异步函数然后调用它?

  useEffect(() => {
    (async () => {
      const response = await fetch(
        "https://jsonplaceholder.typicode.com/posts"
      );
      const json = await response.json();

      setPosts(json);
    })();
  });

正如你们中的许多人可能已经知道的那样,您不能将异步函数传递给 React 中的 useEffect 挂钩。由于 IIFE 的迂回方式,我们仍然可以

对于我们的 useEffect 挂钩,您会看到我们可以通过使用 IIFE 来使用 async-await 语法。就是这样。就这么简单。 IIFE 释放了在 useeffect 钩子中使用 async-await 语法的潜力。

结论 IIFE 是一种非常强大的 JavaScript 编码实践,可用于许多不同的 use-cases。原来useEffect也不例外

我建议使用 IIFE 而不是声明异步函数并调用它。因为您将在 useEffect 中仅使用一次声明的异步函数,而它正是 IIFE 的用例。