How do you handle asynchronous calls in useEffect?

Define an async function inside useEffect and call it, or use then chaining.

useEffect(() => {
  async function fetchData() {
    const data = await fetch("api/data");
    setData(data);
  }
  fetchData();
}, []);