0
  async function fetchName() {
    const api = "https://jsonplaceholder.typicode.com/users";

    const response = await axios.get(api);
    setUserData(
      response.data.map((e) => {
        return {
          id: e.id,
          name: e.name,
          username: e.username,
        };
      })
    );
    let random = Math.floor(Math.random() * userData.length);
    setName(userData[random].username);
    missedLet(userData[random].username);
    setHintName(userData[random].name);
    console.log("nickname is ", userData[random].username);
  }

  useEffect(() => {
    fetchName();
  }, []);

When I call the fetName() function separately, it works correctly, but in useEffect it returns initial state of each state variable.

Also in console its:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'username')
    at getName
Andrey
  • 9
  • 1

0 Answers0