useState useEffect useEffect 第二个参数为数组,表示监听的状态,当第一次渲染或监听的状态发生改变则执行第一个参数传入的回调,相当于 componentDidMount、componentDidUpdate 如果传入空数组,则只会在第一次 render 后执行,相当于 componentDidMount 如果不传入,相当于监听所有状态 第一个参数是回调函数,回调函数返回的函数相当于 componentWillUnmount useRef React 组件的三大属性