Im new in react development and i dont understand why, in the following code, the useEffect is running two times. Maybe the problem is on await, fetch or async words, but i dont know what to do.
import './App.css';
import Navbar from './Navbar/Navbar';
import { useState, useEffect } from 'react';
function App() {
  const [allPokemons, setAllPokemons] = useState([]);
  const [loadMore, setLoadMore] = useState("https://pokeapi.co/api/v2/pokemon?limit=20");
  
  const getAllPokemons = async () => {
    const res = await fetch(loadMore);
    const data = await res.json();
    console.log(data);
    
    setLoadMore(data.next);
    // setAllPokemons(data);
    function createPokemonObject (result) {
      result.forEach( async (pokemon) => {
        const res2 = await fetch(`https://pokeapi.co/api/v2/pokemon/${pokemon.name}`);
        const data2 = await res2.json();
        
        // setAllPokemons([...allPokemons, data]);
        setAllPokemons(currentList => [...currentList, data2]);
      });
    }
    createPokemonObject(data.results);
  }
  useEffect(() => {
    getAllPokemons();
  }, []);
  
  return (
    <div className="App">
      <Navbar />
      <div className='pokemons'>
        {allPokemons.map((pokemon) => 
          <li>{pokemon.name}</li>
        )}
      </div>
    </div>
  );
}
export default App;
