创建实际上不调用其他钩子的 React 自定义钩子可以吗?



我知道React自定义钩子只是常规函数,但前缀为"use",表示它们是自定义钩子。这允许他们使用内置的React挂钩(或其他自定义挂钩(。

我创建了一个前缀为"use"的函数,最初打算作为一个自定义钩子,但我意识到它实际上不需要调用任何其他React钩子。我是否应该重命名我的函数,使其不再被视为钩子?是否还有其他需要考虑的影响(比如性能?(。这个主题有标准的约定吗?

如果您的钩子不依赖于任何其他钩子,那么它应该转换为正常函数。自定义挂钩提供了共享逻辑的灵活性,这在以前的React组件中是不可能的。

  1. 钩子只能从React代码调用,而不能从RegularJS函数。因此,Hooks的范围仅限于React代码世界并且有更多的能力使用React代码做很多事情。与JS不同,常规函数可以跨应用程序使用,但作为反作用代码指导方针使代码更加一致,以响应语法。

  2. 在基于类的组件中,Hooks不起作用,而是常规的功能将。

  3. 在常规JS函数中,您不能访问useState,CCD_ 2、CCD_。

此处回答:https://stackoverflow.com/a/60133908/1723410

最新更新