React钩子是访问React核心功能的一种新方法(仍在开发中),例如
state无需使用类,在您的示例中,如果您想直接在处理函数中增加计数器而不在
onClickprop中直接指定它,您可以可以做类似的事情:
...const [count, setCounter] = useState(0);const [moreStuff, setMoreStuff] = useState(...);...const setCount = () => { setCounter(count + 1); setMoreStuff(...); ...};
和onClick:
<button onClick={setCount}> Click me</button>
让我们快速解释一下这一行的情况:
const [count, setCounter] = useState(0);
useState(0)返回一个元组,其中第一个参数
count是计数器的当前状态,并且
setCounter是允许我们更新计数器状态的方法。我们可以使用该
setCounter方法来更新
count任何地方的状态-
在这种情况下,我们在
setCount函数中使用它可以做更多的事情;带有钩子的想法是,我们能够使代码保持更多功能,并且在不需要/不需要时避免使用
基于类的组件 。
我写了多个例子挂钩一个完整的文章(包括计数器)如本prepen,我利用了
useState,
useEffect,
useContext,和
自定义挂钩 。我可以深入了解钩子如何在此答案上工作,但是文档在解释状态钩子和其他钩子方面做得很好,希望对您有所帮助。
更新:
钩子不再是一个建议,因为版本
16.8 可以使用了,因此React网站上有一个部分可以回答一些FAQ。