DEV Community

Discussion on: Fetch returns an array, but javascript doesn't recognise fields.

 
chico1992 profile image
chico1992

the error is the following line since splice muatest the array
splice doc
const elem = list.splice(i, i + 1)[0];

btw you should run your fetch logic in a useEffect since it's a side effect

Thread Thread
 
daniel13rady profile image
Daniel Brady

Ah! There's your problem on line 56:

const elem = list.splice(i, i + 1)[0];

The splice method is a mutator: it changes what's in your list state!

Here's the doc for details, but basically you need to use a different approach for extracting the element you want there.

I think slice should work:
developer.mozilla.org/en-US/docs/W...

Thread Thread
 
chico1992 profile image
chico1992 • Edited

or even
const elem = list[i]
if I'm not mistaken

Thread Thread
 
daniel13rady profile image
Daniel Brady • Edited

Yeah definitely! ๐Ÿ‘

Thread Thread
 
itssimondev profile image
Simone Aronica

Oh God I though I was using .slice... All this trouble for a p.. I can't believe it.

Thanks to both of you, you were life saver, I would have probably rewritten the entire code to find this.