JSFiddle - React, Tailwind, and code Playground

HTML

<div id="app"></div>

React

const doSomeWork = () => new Promise((resolve) => setTimeout(resolve, 500));

function  Counter() {
  const [count, setCount] = React.useState(0);
  
    const update = async () => {
        await doSomeWork(); // assume this method takes some time > 500ms
        setCount(count + 1);
        // setCount(currentCount => currentCount + 1);
    };
    
    return (<div>
        <span>{count}</span>
        <ul>
            <li><a onClick={update}>Count</a></li>
        </ul>
    </div>);
}

const AppTest = () => {
  return <Counter />;
}

ReactDOM.render(<AppTest />, document.querySelector("#app"));