React 16.8引入了新的Hooks概念,可让您使用状态 以及基于功能的组件中的其他React功能。
反应钩
因此,让我们首先了解什么是React Hook ?
React Hook是一项特殊功能,可让您“ 挂钩 ” React功能。 挂钩在类内部不起作用-它们使您可以在没有类的情况下使用React。 例如, useState是一个Hook,可让您将React状态添加到基于功能的组件中。
React提供了一些内置的钩子,如useState,useEffect,还允许我们创建自己的钩子。 在这一部分中,我们将学习在react中使用useState。 在接下来的部分中,我们将了解剩余的两个。
何时使用挂钩?
如果您需要向功能组件添加状态或其他React功能,则可以使用react Hooks。
现在让我们更深入地研究useState挂钩。
了解useState挂钩
useState是一个React钩子,用于存储和操作功能组件的状态。
现在我们了解了钩子。 让我们在实践中看到它; 让我们首先使用react hooks创建一个hello world react应用程序

在函数主体中编写任何其他内容之前,必须始终在函数顶部编写useState 。 useState接受的唯一参数是变量的初始状态 。
在此示例中,我们创建了一个nameState 用于保存组件状态的常量变量(“ Hello World!”除外。)
useState返回一个存储在nameState变量中的数组。 useState返回的数组恰好有两个元素,第一个元素是当前状态 ,第二个元素是可用于操纵state的函数 。 您可以使用数组索引访问这两种方法。 (例如:nameState [0]为您提供当前状态,nameState [1]为您提供可用于操作状态的函数)。
动态useState Hook
现在,让我们使用用户在文本字段中输入的内容来操纵当前状态。

在这里,我们使用useState返回到event.target.value并与标记的onChange挂钩的数组的第二个元素来更新nameState变量的状态。
使用多个useState挂钩
单个组件在函数中可以具有多个useState变量,如下所示。

关键要点:
- React Hooks是特殊功能,可让您将React功能整合到基于功能的组件中
- React提供了三种类型的钩子: useState,useEffect和自定义钩子(或用户创建的钩子)
- useState是一个反应挂钩,用于存储组件或用户的状态
- 单个功能组件可以具有多个useState变量
参考文献:
- 反应文档:https://reactjs.org/docs/hooks-overview.html
- Udemy反应课程:https://www.udemy.com/react-the-complete-guide-incl-redux/