在组件内部使用钩子有问题吗?

Is there a problem in using hooks inside components?

我有我的主要 <App/> 并且在我的应用程序中我使用了多个 useState 挂钩。 在我的应用程序中,我还使用了一个名为 <Component/>.

的组件

在这个组件中我使用了几个 useEffect 钩子,所以我的问题是,将 useEffect 钩子放在组件文件中是一个好的做法吗?如果没有,如果您需要在组件内有一个 useEffect 挂钩。你会如何做到这一点?

是的,您的设置很好。这就是hooks的美妙之处,就是你可以在任何函数组件中使用它们,想用多少就用多少!

在您的应用程序的任何组件中使用 useEffect 钩子都没有错。

我假设您指的是使用 useStateuseEffect 挂钩会导致您的组件无限渲染的问题。当您更新 useEffect 挂钩内的状态时会发生这种情况,并且该挂钩具有

  • 没有依赖关系,或者
  • 取决于您刚刚更新的状态

为避免这种情况,只需确保您的效果不依赖于您正在更新的状态。