一、hooks是什么?
Hook 就是 JavaScript 函数,但是使用它们会有两个额外的规则:
- 只能在函数最外层调用 Hook。不要在循环、条件判断或者子函数中调用。
- 只能在 React 的函数组件中调用 Hook。不要在其他 JavaScript 函数中调用。(还有一个地方可以调用 Hook —— 就是自定义的 Hook 中。)
- Hook 是 React 16.8 的新增特性
二、react 内置 hook
- state: const [count, setCount] = useState(0);
useState 是允许你在 React 函数组件中添加 state 的 Hook。 - effect: Effect Hook 可以让你在函数组件中执行副作用操作
如果你熟悉 React class 的生命周期函数,你可以把 useEffect Hook 看做 componentDidMount,componentDidUpdate 和 componentWillUnmount 这三个函数的组合。