Hooks 介绍
函数组件没有stat状态,不能使用setatate改变数据重新渲染,在函数式组件里要使用hook的useState,全部重新渲染
react hooks是v16.8新增的特性, 他允许你在不写class(即:函数式组件)的情况下操作state 和react的其他特性(如:生命周期的钩子函数)。
hooks 只是多了一种写组件的方法,使编写一个组件更简单更方便,同时可以自定义hook把公共的逻辑提取出来,让逻辑在多个组件之间共享。
Hook 是什么? Hook 是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState
是允许你在 React 函数组件中添加 state 的 Hook。
函数式组件里面没有state,所以,无状态组件我们用函数写,或者说函数式组件是无状态组件。而现在有了Hook后,函数式组件里,也可以使用state了。当然还有其它Hook。
使用规则
- Hook可让您在不编写类(组件)的情况下使用状态(state)和其他React功能
- 只能在顶层调用Hooks 。不要在循环,条件或嵌套函数中调用Hook
- 只能在functional component或者自定义钩子中使用Hooks
- 钩子在类内部不起作用,没有计划从React中删除类