什么是Hook?Hook有什么作用?
Hook是React16.8新增的特性,它可以让你在不编写类组件的时候使用state以及其他的React特性。
Hook是一些可以让你在函数组件中“钩入”React state 以及生命周期函数等特性的函数。Hook不能在类组件里使用。
State Hook的使用:
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
return (
<div>
</div>
);
}
在这里,简单来理解就是说,把0赋值给count,并给予一个方法setCount用来改变count
就像:setCount(count+10);这个值会覆盖count值。
Effect Hook的使用:
在函数组件使用Hook的过程中,我们肯定要用到类似类组件中生命周期函数的作用,Effec Hook就是解决这个问题的。
useEffect就是一个Effect Hook,赋予了函数组件增加操作副作用的能力。
import React, { useState, useEffect } from 'react';
function Example() {
useEffect(() => {
// 使用浏览器的 API 更新页面标题
document.title = `You clicked ${count} times`;
});
}
在这里,useEffect就相当于componentDidMount和componentDidUpdate;