Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。Hook 是一个特殊的函数),可实现在函数式组件中进行状态管理和生命周期管理等。
// XXX.js文件中(2个hook的实现):
// useState函数是实现状态管理,useuseEffect函数是实现生命周期钩子效果
import React,{useState,useEffect} from "react";
export default function ji(){
// eslint-disable-next-line react-hooks/rules-of-hooks //该eslint注释是用于关闭eslint的XXX/XXX规则
const [count,setCount]=useState(99); //const [状态属性, 状态方法] = useState(状态的初始值);根据hooks规则,必须始终在React函数的顶层(位置)使用Hook!
// eslint-disable-next-line react-hooks/rules-of-hooks //该eslint注释是用于关闭eslint的XXX/XXX规则
useEffect(()=>{
// Update the document title using the 浏览器 API.
document.title=`U ${count} times`;
}) //useEffect为生命周期钩子函数,第2个参数是数组,不写表示effect函数(useEffect函数的第一个参数,即箭头函数)会在组件didMount+didUpdate时触发并执行!若写空数组,表示effect函数只在didMount触发并执行1次。
// 函数内部可直接使用count状态属性!
return(
<div>
<p>你点击我{count}次</p>
<button onClick={()=>{setCount(count+1)}}>点击</button>
</div>
)
}
参考React官网:https://zh-hans.reactjs.org/docs/hooks-effect.html