1. ์๋ฐ์คํฌ๋ฆฝํธ map ํจ์
๊ธฐ๋ฅ 1. array์ ๋ค์ด์๋ ์๋ฃ๊ฐฏ์๋งํผ ๊ทธ ์์ ์๋ ์ฝ๋๋ฅผ ๋ฐ๋ณต์คํํด์ค๋๋ค.
var ์ด๋ ์ด = [2,3,4];
์ด๋ ์ด.map(function(){
console.log(1)
});
=> console.log(1) 3๋ฒ ์คํ๋จ
๊ธฐ๋ฅ 2. ์ฝ๋ฐฑํจ์์ ํ๋ผ๋ฏธํฐ ์๋ฌด๋ ๊ฒ๋ ์๋ช ํ๋ฉด ๊ทธ ํ๋ผ๋ฏธํฐ๋ ์ด๋ ์ด ์์ ์๋ ๋ชจ๋ ์๋ฃ๋ฅผ ํ๋์ฉ ์ถ๋ ฅํด์ค๋๋ค.
(๊ทธ๋ฅ ์๊ดํธ์์ ์๋ ํจ์๋ฅผ ์ฝ๋ฐฑํจ์๋ผ๊ณ ํฉ๋๋ค)
var ์ด๋ ์ด = [2,3,4];
์ด๋ ์ด.map(function(a){
console.log(a)
});
=> 2, 3, 4๊ฐ ์ฝ์์ฐฝ์ ์ถ๋ ฅ๋จ
๊ธฐ๋ฅ3. return ์ค๋ฅธ์ชฝ์ ๋ญ ์ ์ผ๋ฉด array๋ก ๋ด์์ค๋๋ค.
var ์ด๋ ์ด = [2,3,4];
var newArray = ์ด๋ ์ด.map(function(a){
return a * 10
});
console.log(newArray)
=> newArray๋ [20, 30, 40] ์ด ์ถ๋ ฅ๋จ
2. JSX ์์์ html์ ๋ฐ๋ณต์์ฑํ๋ ค๋ฉด
๋ฆฌ์กํธ ์ค๊ดํธ์์์ html์ ๋ฐ๋ณต์์ฑํ๊ณ ์ถ์ผ๋ฉด ์๊น ๋ฐฐ์ด map์ ์ด์ฉํด๋ ๋ฉ๋๋ค.
function App (){
return (
<div>
{
[1,2,3].map(function(){
return ( <div>์๋
</div> )
})
}
</div>
)
}
โฒ ์ด๋ ๊ฒ ์ฐ๋ฉด <div>์๋ </div> ์ด 3๊ฐ ์์ฑ๋จ
ex. ๋ฐ๋ณต๋๋ ๊ธ์ ๋ชฉ 3๊ฐ๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ถ์ฝ
function App (){
return (
<div>
(์๋ต)
{
๊ธ์ ๋ชฉ.map(function(){
return (
<div className="list">
<h4>{ ๊ธ์ ๋ชฉ[0] }</h4>
<p>2์ 18์ผ ๋ฐํ</p>
</div> )
})
}
</div>
)
}
โฒ ์ด๋ ๊ฒ ํ๋ฉด ๊ธ์ ๋ชฉ์ด 3๊ฐ ์์ฑ๋ฉ๋๋ค. (๊ธ์ ๋ชฉ์ด๋ผ๋ state๋ array์๋ฃ๋ผ์ map ๋ถ์ผ ์ ์์ต๋๋ค)
๋ฐ๋ณต๋ HTML์ ๊ฐ๊ฐ ๋ค๋ฅธ ์ ๋ชฉ์ ๋ถ์ฌํ๊ณ ์ถ๋ค๋ฉด(1)
function App (){
return (
<div>
(์๋ต)
{
๊ธ์ ๋ชฉ.map(function(a){
return (
<div className="list">
<h4>{ a }</h4>
<p>2์ 18์ผ ๋ฐํ</p>
</div> )
})
}
</div>
)
}
โฒ ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๊ฐ ๋ค๋ฅธ ๊ธ์ ๋ชฉ์ด 3๊ฐ ์์ฑ๋จ
๋ฐ๋ณต๋ HTML์ ๊ฐ๊ฐ ๋ค๋ฅธ ์ ๋ชฉ์ ๋ถ์ฌํ๊ณ ์ถ๋ค๋ฉด(2)
function App (){
return (
<div>
(์๋ต)
{
๊ธ์ ๋ชฉ.map(function(a, i){
return (
<div className="list">
<h4>{ ๊ธ์ ๋ชฉ[i] }</h4>
<p>2์ 18์ผ ๋ฐํ</p>
</div> )
})
}
</div>
)
}
(์ฐธ๊ณ ) ์ผ๋ฐ for ๋ฐ๋ณต๋ฌธ์ ์ฐ๊ณ ์ถ๋ค๋ฉด
1. html๋ค์ ๋ด์๋ array ์๋ฃ๋ฅผ ํ๋ ๋ง๋ค์ด์ค๋๋ค.
2. ์ผ๋ฐ for ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด์ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆผ
3. ๋ฐ๋ณต๋ ๋ ๋ง๋ค array์๋ฃ์ <div> ํ๋์ฉ ์ถ๊ฐํด์ค๋๋ค.
4. ์ํ๋ ๊ณณ์์ {array์๋ฃ} ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
function App (){
var ์ด๋ ์ด = [];
for (var i = 0; i < 3; i++) {
์ด๋ ์ด.push(<div>์๋
</div>)
}
return (
<div>
{ ์ด๋ ์ด }
</div>
)
}
โฒ ์ด๋ ๊ฒ ํด๋ <div>์๋ </div> ์ด๊ฒ 3๊ฐ ์ถ๋ ฅ๋จ.
for ๋ฌธ๋ฒ์ JSX ์์์ ์ฌ์ฉํ ์ ์์ด์ ์ ๋ ๊ฒ ๋ฐ๊นฅ์์ ์ฐ๋ฉด ๋ฉ๋๋ค. ๊ท์ฐฎ์ผ๋ฉด map์ ์์๋ค.
'๐ปWEB FrontEnd > ํ๋ ์์ํฌ React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React์ Bootstrap ์ ์ฉ (0) | 2022.07.07 |
---|---|
props : ๋ถ๋ชจ -> ์์ state ์ ์ก (0) | 2022.07.06 |
React ์ปดํฌ๋ํธ (0) | 2022.07.04 |
์ ๊น ์ฌ์ฉํ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ๋ฒ 2๊ฐ์ง (0) | 2022.07.03 |
React ํ๋ก์ ํธ ์์ฑ + JSX๋ฌธ๋ฒ (0) | 2022.07.03 |