반응형
1. .map 사용법
데이터.map(function(){
return (
<컴포넌트/>
)
})
2. 활용 예시
import React, { useState } from 'react';
import './App.scss';
function App() {
let [menuTit, menuTitFunc] = useState(['짜장면', '짬뽕', '울면']);
return (
<div className="App">
{
menuTit.map( ( menu )=>{
return (
<div className="menu">{ menu }</div>
)
})
}
</div>
);
}
export default App;
3. 그래도 for문을 사용하고 싶다면 별도로 함수 선언하여 불어올 것.
import React, { useState } from 'react';
import './App.scss';
function App() {
let [menuTit, menuTitFunc] = useState(['짜장면', '짬뽕', '울면']);
function menuMap(){
var menu = [];
for ( var i=0; i<menuTit.length; i++ ){
menu.push(<div className="menu">{ menuTit[i] }</div>)
}
return menu;
}
return (
<div className="App">
{ menuMap() }
</div>
);
}
export default App;
4. key={ }
두 코드 모두 콘솔을 확인해보면, 위의 오류가 발생했다고 뜬다. 이는 key 값이 없다는 뜻으로, react는 반복문을 실행 시, 각각 고유의 key값을 요구하기 때문이다. 적어도 그만, 안 적어도 그만이라지만, 맵핑할 때 컴포넌트에 키값을 삽입해주면 해결되니, 파라미터 i를 활용하여 해당 경고를 삭제하자.
menuTit.map( ( menu, i )=>{
return (
<button onClick={ ()=>{ menuNumFunc(i) } } key={i} >{ menu }</button>
)
})
반응형
'React (old ver) > basic' 카테고리의 다른 글
map & props 응용편 (0) | 2021.10.30 |
---|---|
props, 부모의 state를 가져와 보자. (0) | 2021.10.30 |
Toggle: 중괄호{ } 안 if는 안되니, 삼항연산자를 이용하자. (0) | 2021.10.29 |
Component 2, 파일 분리 (모듈화) (0) | 2021.10.29 |
Component 1, function 컴포넌트() (0) | 2021.10.29 |
댓글