Custom hook to include a callback function for useState which was previously available for setState in class components. Read more about it here.
npm install use-state-with-callback
import React from 'react'; import useStateWithCallback from 'use-state-with-callback'; // import { useStateWithCallbackInstant } from 'use-state-with-callback'; const App = () => { const [count, setCount] = useStateWithCallback(0, count => { if (count > 1) { console.log('render, then callback.'); console.log('otherwise use useStateWithCallbackInstant()'); } }); // const [count, setCount] = useStateWithCallbackInstant(0, count => { // if (count > 1) { // console.log('render with instant callback.'); // } // }); return ( <div> {count} <button type="button" onClick={() => setCount(count + 1)}> Increase </button> </div> ); };
git clone git@github.com:the-road-to-learn-react/use-state-with-callback.git
cd use-state-with-callback
npm install
npm run test