๐โโ๏ธ ์ฌ๋ด์ผ๋ก ๋ฌ๊ทผ์์ด '์ mapํจ์ ๊ฒ์๋ฌผ์ด์ง?' ๊ทธ๋ฆฌ๊ณ React๋ฅผ ์ธ์ธํ ์ ์ง์๊ณ ๋์ด๊ฐ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง WeCode ์๋ฆฌ์ฆ๋ WeCode์์ ๋ฐฐ์ ๋ ๊ฒ, assignment๋ฅผ ๊ธฐ๋กํ๊ณ ์ ์ ๋๊ฑฐ๋ผ ๋ด์ฉ์ด ๋ณด๋์ฐจ์ง ์๊ฒ ๋ณด์ผ ์๋ ์๋ค. ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๋ชจ๋ฅด๋ ๋ถ๋ถ์ด ๋์ค๋ฉด ๊ทธ ๋ถ๋ถ ์๋ฆฌ์ฆ์ ๋ ์ถ๊ฐ๋ก ๊ณ์ ์ ์ ์์ ์ด๋ค
๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
let numbers = [1, 4, 9];
let roots = numbers.map(x => x / 2);
๐ roots๋ [1, 2, 3], numbers๋ ๊ทธ๋๋ก [1, 4, 9]์ ๊ฐ์ง๊ฒ ๋๋ค.
- mapํจ์์ ๊ฐ์ ์ด์ ์ ๊ฐ์ ์ํญ์ ์ฃผ์ง์๊ณ ์๋ก์ด ๊ฐ์ ์ฃผ๊ฒ๋๋๊ฒ mapํจ์์ ํฌ์ธํธ์ด๋ค.
๊ทธ๋์ ์ฌ๋ฌ ๊ฐ์ Component๋ฅผ ๋ง๋ค ๋ mapํจ์๋ฅผ ์จ์ ํ ๊ฐ์ Component๋ก ์ฌ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๊ฐ ๋ณด์ฌ์ค ์ ์๋๋ฐ ๊ฐ ํญ๋ชฉ์ ๊ณ ์ ์ key ๊ฐ์ด ์๋๋ฐ ์ข๋ค
Key๋ React๊ฐ ์ด๋ค ํญ๋ชฉ์ ๋ณ๊ฒฝ, ์ถ๊ฐ ๋๋ ์ญ์ ํ ์ง ์๋ณํ๋ ๊ฒ์ ๋๋๋ค.
๐ Component๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ์ฌํ์ฉํ์ฌ ์ฌ์ฉํ ๋ ์ํ๋ ๋ถ๋ถ์ ์์ ํด์ผํ๋ ์ํฉ์ด๋ฉด ๊ฐ Component๋ฅผ ์๋ณ ํ ์ ์์ผ๋ ์ด ๋ key๊ฐ ์์ผ๋ฉด ์ ๊ทผํ๊ธฐ ์ฉ์ดํ๋ค๋ ์๋ฆฌ์ด๋ค.
- Key๋ ์๋ฆฌ๋จผํธ์ ์์ ์ ์ธ ๊ณ ์ ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด ๋ฐฐ์ด ๋ด๋ถ์ ์๋ฆฌ๋จผํธ์ ์ง์ ํด์ผ ํ๋ค.
๐<ul>
ํ๊ทธ์<li>
ํ๊ทธ๊ฐ ์๋ค๋ฉด ์ธ๊ณ ์๋<ul>
๊ฐ ์๋ ๊ฐ<li>
์ Key๊ฐ ํ์ํ์ฌ ๋ถ์ฌํ๋ค.- map()์ผ๋ก ๋ฐ๋ณตํ๋ Component์ ์์ ์๋ ์์๊ฐ ์๋ ๊ทธ ์์ฒด์ Component์ key๊ฐ์ ์ง์ ํด์ผํ๋ค
ID
๊ฐ์ผ๋ก ์ฌ์ฉํ๋๋ฐ ๋ง์ฝ ์๋ค๋ฉด ์๋ฆฌ๋จผํธ์ index๊ฐ์ผ๋ก Key ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
ID
๋ฅผ key ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ์ด์ํญ๋ชฉ์ ์์๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ index๊ฐ๋ ๋ฐ๋๊ธฐ ๋๋ฌธ์ ์๋ํ๋ ์๋ฆฌ๋จผํธ์ ํค๊ฐ์ด ๋ฌ๋ผ์ง๊ฒ ๋์ด ์ฑ๋ฅ์ด ์ ํ๋๊ฑฐ๋ Component์ state์ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ
๐๋๋์
์์ ์ ๋ค์ผ๋ฉด์ ๋์ถฉ ์ key ๊ฐ์ ์ฃผ๋์ง๋ ์์์ง๋ง ๋ฌด์ ๋๋ฌธ์ ๋์ ์ธ ๊ฐ(ex: index)์ key ๊ฐ์ผ๋ก ์ฃผ๋ ๊ฒ์ ์ถ์ฒํ์ง ์๊ณ ๋ ์ ํํ ์ด๋์ ์ง์ ํด์ค์ผํ๋์ง ๋ช ํํ๊ฒ ์ ์ ์์๋ค.
์์ง๊น์ง JavaScript๋ฅผ ๋์ง ๋ชปํ์ง๋ง ์ ์ React๋ ์นํด์ ธ์ผ๋๊ฒ ๋ค.