DEV Community

Discussion on: Calling and Consuming APIs with Mantine in ReactJS #3

Collapse
 
adberger profile image
Adrian Berger

This doesn't seem to work for me.

This part doesn't always return the random user:
const [userData, setUserData] = useState([])

const loadUserData = useCallback(async () => {
setUserData(await fetchRandomUser())
}, [])

useEffect(() => {
loadUserData()
console.log(userData);
}, [loadUserData])

Most of the time the array is empty.
Any ideas? Is there a working examples in a gist or something?

Collapse
 
samp_reston profile image
Sam Preston

Are you importing the fetchRandomUser function from a separate api.js file or is the function contained within the component?

Collapse
 
adberger profile image
Adrian Berger

Just like in your example from a separate file:
import { fetchRandomUser } from './api/User';

Thread Thread
 
samp_reston profile image
Sam Preston

And you have the function being exported as so?

export async function fetchRandomUser() {
  return await axios.get('https://randomuser.me/api/')
    .then((response) => {
      // console.log(response.data);
      return response.data
    })
    .catch((error) => {
      console.log(error)
    })
}
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
adberger profile image
Adrian Berger

Yes