Search code examples
reactjsuse-state

How to execute call after setState finish?


Got this call:

setPou2({ ...pou2, imgId: po?.imgId2 }, () => {})

and it raise an error:

Expected 1 arguments, but got 2.

Solution

  • It's due to you are passing 2nd argument of call. setPou2({...pou2, imgId:po?.imgId2}) this will not raise any error.

    If you want callback function after change in state you need to use useEffect by passing that particular state as array.

    useEffect(()=>{
      // function you want to run
    },[pou2])
    

    or you can check this useStateWithCallback