
build & start 하면 안 뜨는데 dev에서만 저런 오류가 뜬다.
<h1 className="text-red-500">아이템 목록</h1>
{Object.values(itemsList).map((item) => (
<div className="grid grid-cols-4 gap-4" key={item.name}>
<div className=" border rounded p-4 hover:shadow-lg">
<Image
className="rounded-sm object-scale-down"
width={80}
height={80}
src={`https://ddragon.leagueoflegends.com/cdn/14.19.1/img/item/${item.image.full}`}
alt={item.name}
/>
<h2 className="mt-2 text-xl font-semibold">{item.name}</h2>
<p className="text-gray-500">{item.plaintext}</p>
</div>
</div>
))}

Object.entries() 로 바꿔서 id까지 같이 가져와보기로 했다.
{Object.entries(itemsList).map(([id, item]) => ( // entries로 바꿔서 [key, value] 쌍을 가져옴.
<div className="grid grid-cols-4 gap-4" key={id}> // item.name 대신 id를 넣어줌
<div className=" border rounded p-4 hover:shadow-lg">
<Image
className="rounded-sm object-scale-down"
width={80}
height={80}
src={`https://ddragon.leagueoflegends.com/cdn/14.19.1/img/item/${item.image.full}`}
alt={item.name}
/>
<h2 className="mt-2 text-xl font-semibold">{item.name}</h2>
<p className="text-gray-500">{item.plaintext}</p>
</div>
</div>
))}
깨끗해진 콘솔창 🤗
number[]이 string과 겹치지 않으므로 이 비교는 의도하지 않은 것 같습니다. (뭔 소린지)

배열이랑 단일값을 비교하려고 하니 오류가 나는 것 같았다.
Array.prototype.includes()를 써서 비교해주려고 했는데, 새로운 오류가 난다.
champ.key는 string이고 freeChampionIds는 number 값이라 그런 것 같았다.
아예 타입 설정에서 string=>number 바꾸려다가 뭔가 나중에 복잡해질 것 같은 느낌이 들어 Number()를 써서 바꿔줬다.
잘 뜬다 😊

vscode가 뒤에 []를 붙여주라고 알려주는 것 같아서 붙여줬더니 빨간줄이 사라졌다.


초기값을 빈 배열로 설정해줬다. 오류가 사라지고 랜더링도 잘 된다.

왜지 ? 분명 1초전에는 잘 됐는데?


URL에서 최신버전을 변수로 바꿔주고, set스테이트 안 해줘서 그런거였다. 🤗