React 是主流的前端框架,v16.8 版本引入了全新的 API,叫做 React Hooks,颠覆了以前的用法。
一、React 的两套 API
以前,React API 只有一套,现在有两套:类(class)API 和基于函数的钩子(hooks) API。
任何一个组件,可以用类来写,也可以用钩子来写。下面是类的写法。
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
Hook 这个单词的意思是”钩子”。
React Hooks 的意思是,组件尽量写成纯函数,如果需要外部功能和副作用,就用钩子把外部代码”钩”进来。 React Hooks 就是那些钩子。
你需要什么功能,就使用什么钩子。React 默认提供了一些常用钩子,你也可以封装自己的钩子。
所有的钩子都是为函数引入外部功能,所以 React 约定,钩子一律使用use前缀命名,便于识别。你要使用 xxx 功能,钩子就命名为 usexxx。
下面介绍 React 默认提供的四个最常用的钩子。
- useState()
- useContext()
- useReducer()
- useEffect()
useState():状态钩子
参考
中文文档:https://zh-hans.reactjs.org/docs/hooks-intro.html
阮一峰:轻松学会 React 钩子:以 useEffect() 为例
阮一峰 React Hooks 入门教程 http://www.ruanyifeng.com/blog/2019/09/react-hooks.html
阮一峰React 测试入门教程http://www.ruanyifeng.com/blog/2016/02/react-testing-tutorial.html