Estoy aprendiendo React y me enfrento a mi primer problema. Intento configurar algunos datos para usarlo, pero fallé.
Esto es lo que hago:
const [randomCharacters, setRandomCharacters] = useState([]); const randomNumber = (minimum,maximum, numberOfCharactersWanted) => { let characters = []; for (let i = 1; i <= numberOfCharactersWanted; ++i){ let randomNumber = (Math.random() * (maximum - minimum + 1) ) << 0; if (!characters.includes(randomNumber)){ characters.push(randomNumber); } else { randomNumber = (Math.random() * (maximum - minimum + 1) ) << 0; characters.push(randomNumber); } } return characters.join(); } useEffect(() =>{ axios.get('https://rickandmortyapi.com/api/character/'+ randomNumber(0,totalCharacters, 6)) .then((response) => { response.data.map((res) => ( setRandomCharacters(res.id) )) //setRandomCharacters(response.data) }) })TotalCharacter es igual a 826 y cuando busco, obtengo la URL correcta, por ejemplo => 'https://rickandmortyapi.com/api/character/23,45,89,567,432,9' pero cuando busco los caracteres aleatorios, puedo veo el estado anulando una y otra vez en lugar de obtener una matriz de valor y no entiendo por qué, ¿alguna idea?
cambiar return characters.join(); para return characters.join('');
en su función randomNumber .
razón por la cual, un .join() en blanco usa , como el valor de unión predeterminado.