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"));