Warning: Encountered two children with the same key, [object Object]. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
list์์ ๊ฐ๊ฐ ๊ณ ์ ์ ๊ฐ์ ์ ํด์ฃผ์ง ์์์ ์๊ธฐ๋ ์ค๋ฅ์ด๋ค.
<ul>
{listItems.map((item, idx) => {
return <li key={idx}>{item}</li>;
})}
</ul>
์ด๋ฐ์์ผ๋ก key ๊ฐ์ ์ ํด์ฃผ๋ฉด ๋๋๋ฐ, ๊ทธ ํค๊ฐ์ ์ธ๋ฑ์ค๋ก ์ก์์ฃผ๋ ๊ฑด ์ ๋ง ์ ์ข๋ค๊ณ .
๋ง์ฝ์ ๋ฆฌ์คํธ๋ฅผ ๋ ์ถ๊ฐํ๊ฒ ๋๋ค๋ฉด, ์ธ๋ฑ์ค๊ฐ ์ ๋ถ ๋ฐ๋์ด ๋ชจ๋ ํค๊ฐ์ด ํ๋ฒ์ฉ ๋ฐ๋๋ ํ์์ด ๋ํ๋๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ๋ช๊ฐ, ๋ช์ญ๊ฐ ์ผ๋??? ์ง์ง ์ด๋ง์ด๋งํ ์ผ์ด ์ผ์ด๋๊ฒ ์ง? ใ ใ
๊ทธ๋์ ๊ณต์๋ฌธ์์์๋ ๊ทธ๋ฅ ๋ง์ง๋ง ์๋จ์ผ๋ก ์ฌ์ฉํ๋ผ๊ณ ํ๊ณ ๋น๊ถ์ฅํ๊ณ ์๋ค๊ณ ํ๋น
๋ด๊ฐ ์ด ์ฝ๋๋ map์ ์ด์ฉํด์,
์ด๋ค ์กฐ๊ฑด ํ์ ** ๋ฅผ ์ ํํ์๋ 1๋ฒ div๊ฐ , &&๋ฅผ ์ ํํ์ ๋ 2๋ฒ div๊ฐ ๋ํ๋๋ ํ์์ธ๋ฐ
๊ฐ๊ฐ div์ ์ฒ์์ key๊ฐ์ ์ค๋ดค๋๋ฐ๋ ๋ฑํ ๋ณํ๋ ์์๋ค.
๊ทผ๋ฐ ์๊ฐํด๋ณด๋ ์กฐ๊ฑด๋ฌธ์ ์กฐ๊ฑด๋ฌธ์ผ ๋ฟ์ด๊ธฐ์ ๊ฐ์ฅ ์๋จ์ ์คฌ๋๋ ์๋ฌ๊ฐ ๋๋ ๋์ง ์์์
{settingData.map((el: any, idx: number) => {
return (
<div key={el.setName}> // ์ด ๋ถ๋ถ
{el.setName === "A" ? (
<Flex borderBottom={"1px solid #ddd"} p={"20px"} alignItems={"center"}>
<Text mr={"140px"} fontSize={"18px"} ml={"20px"}>
{el.setName}
</Text>
<Select>
<option value="์ด์ฉ๊ตฌ"> ' 1 ' </option>
<option value="์ ์ฉ๊ตฌ"> ' 2 ' </option>
</Select>
</Flex>
) : el.setName === "B" ? (
<Flex borderBottom={"1px solid #ddd"} p={"20px"} alignItems={"center"}>
...
</Flex>
) : (
<Flex borderBottom={"1px solid #ddd"} p={"20px"} alignItems={"center"}>
...
</Flex>
)}
</div>
);
})}
el.setName์ ์๋ฒ์์ ๋ด๋ ค์ค ๊ฐ์์ ๊ณ ์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ key๊ฐ์ผ๋ก ์ ์ ํ๋ค
์ฌ์ค el.id ๋~ seq๋ ์ด๋ค ๊ฐ์ด๋ ์๊ด์๊ธดํจใ ใ ใ
๊ฒฐ๋ก : key๊ฐ์ ๊ผญ ์ฃผ์...
'์ฝ๋ฉ ๋ฉ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[error] '~' cannot be used as a JSX component. (0) | 2023.06.16 |
---|---|
ECMAScript 2023 (5) | 2023.05.30 |
[error] <input>์ value์์ฑ์ด ๊ณ ์ ๊ฐ์ด ์๋๋ผ ๋๋ ์๋ฌ (0) | 2023.05.23 |
[error] Parsing error: 'import' and 'export' may only appear at the top level. (0) | 2023.05.20 |
[error] Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'. (0) | 2023.05.20 |