React-useEffect使用

1.useEffect

  react hooks

  使用:

  useEffect(fn,dep)

    第一个参数是函数,第二个参数是依赖项,可不传

    1.当没有给依赖项时,则useEffect每次都会执行里面的函数

    2.当给依赖项时,依赖项发生改变时,useEffect才会执行里面的函数

    3.当依赖项为一个空数组时,则页面加载后只执行一次,后面不在执行

import React, { useEffect, useState } from 'react';

const App = () => {
    const [count, setCount] = useState(0);
// componentDidMount useEffect(() => { console.log('我只执行一次'); }, []);
// update生命周期 useEffect(() => { console.log('count变化了,我就执行'); }, [count]);
// update useEffect(() => { console.log('我每次都执行'); }); const clickEvent = () => { setCount(preCount => { console.log('上一次的值:', preCount); return preCount + 1; }); }; return ( <div className='App'> <button onClick={clickEvent}>increment</button> <p>{count}</p> </div> ); }; export default App;

    清除副作用

    在useEffect函数中返回一个函数,则当组件卸载时就会执行清除副作用函数

    useEffect(() => {
        console.log('我每次都执行');
// componentWillUnMount return () => { console.log('clean'); }; });