Cuando hago esto, el código funciona.
console.log(characters.data.results[2])Obviamente obtendría el tercer objeto en la matriz. pero esto es estático. Quiero que sea aleatorio, así que hice esto.
console.log(Characters.data.results[Math.floor(Math.random() * 21)])no funciono me sigue saliendo este error
Main.jsx:6 Uncaught TypeError: Cannot read properties of undefined (reading 'results') at Main (Main.jsx:6:1) at renderWithHooks (react-dom.development.js:16175:1)Incluso hice el código más limpio haciendo
const random = Math.floor(Math.random() * 21); console.log(characters.data.results[random])pero tengo el mismo error. ¿Qué estoy haciendo mal? Soy nuevo en reaccionar.
El valor de Characters.data no está definido en el primer procesamiento y puede cambiar después.
Para asegurarse de que Characters.data no esté indefinido antes de acceder a Characters.data.results . Puede usar el encadenamiento opcional (?.)
console.log(Characters.data?.results[Math.floor(Math.random() * 21)])