react hooks(钩子)
参考:https://zh-hans.reactjs.org/docs/hooks-intro.html
概念理解
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
(生命周期只存在于类组件中,hooks可以使函数式组件也包含状态)
常见的钩子函数
状态钩子:useState()
const [count, setCount] = useState(0);
- React自带的一个hook函数,声明组件状态
- 参数可以设置state的初始值
- 返回值是一个只有两个元素的数组:[状态,状态更新函数]
等同于类组件:
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
副作用钩子useStateuseEffect
更多API参考:https://zh-hans.reactjs.org/docs/hooks-reference.html
// 副作用钩子的第二个参数,默认情况下,效果会在每次完成渲染后运行,但可以选择只在第二个参数发生变化时运行
useEffect(() => {
document.title = `点击次数为${count}`
}, [count])