react 创建组件有三种方式
- 函数式定义的
无状态组件
- es5原生方式
React.createClass
定义的组件
- es6形式的
extends React.Component
定义的组件
这篇我们主要讲函数组件的使用,
在函数组件里面是没有生命周期管理和状态管理,但是有类似生命周期的一些方法在官网上叫做Hook
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
定义变量的话在函数组件里面一般这样
const [page, setPage] = React.useState(1);
在前面数组里面page就是我们定义的变量,后面setPage是用来改变page的值,后面小括号里面直接就代表了数据类型为number数值是1
类组件里面的shouldComponentUpdate优化,在函数组件里面可以使用React.memo来优化。
React.useEffect可以模拟生命周期比如
React.useEffect(() => {
}, []);
这样就类似于componentDidMount ,一般都是用来发起请求
如果在第二个参数是空数组如论怎么改变就只会执行一次
如果在里面写变量了
React.useEffect(() => {
}, [status, title, size, page])
这四个变量只要有一个改变,就会再次执行