JavaScript函数和React Hook有什么区别?

时间:2019-12-26 12:04:33

标签: javascript reactjs react-hooks

我一直在写自己的React钩子,但到目前为止,我在技术水平上仍难以分辨普通JavaScript函数和钩子之间的区别。

例如,this文章说,钩子是“可以在其中使用其他钩子的普通javascript函数”,但是幕后还有什么其他事情?

我知道我们在钩子名称中使用了use一词,但我很好奇使钩子成为钩子而不是函数的钩子是什么!

非常感谢。

3 个答案:

答案 0 :(得分:2)

  

关于使钩子成为钩子而不是函数的钩子是什么!

挂钩是函数。它们的特殊之处在于它们的用途以及应在何时使用它们。它们的目的是为您提供一种与react组件生命周期进行交互的方式,并且实现了它们,以便仅当在渲染功能组件时调用它们时才能正常工作。

反应小组有implemented 10 of these functions。它们使您能够进行诸如管理状态或产生副作用的事情。您可以随意混合和匹配这些内容,如果将代码放入辅助方法中,则称为“自定义钩子”。

答案 1 :(得分:0)

React钩子在任何方面都没有引入来与JavaScript函数不同。引入它们是为了将类组件的功能赋予功能组件。

例如,您不能在功能组件中进行任何形式的本地状态管理,如果需要引入状态,则必须将其转换为类组件。现在,随着钩子的引入,您可以使用useState为功能组件提供类组件状态管理的功能。

答案 2 :(得分:0)

简单说明:

Javascript函数-当调用或需要时,浏览器触发某些事件的方法或说明。

React Hooks-这些也是基于库的某些生命周期的Javascript函数。 React挂钩结合了很多方法(函数),例如componentsDidMount(),componentDidLoad()等...,并将它们全部包装在一起。