Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- spring
- tomcat
- Mockito #Reflection #Sigleton #Test #JUnit
- 디자인패턴 #싱글톤
- Spring Framework
- 외장톰캣
- LiveTemplate
- 톰캣
- autocomplete
Archives
- Today
- Total
자라선
(React & Express 를 이용한 웹 어플리케이션 개발하기) 2일자 - map 본문
// Contact 템플릿
class ContactInfo extends React.Component{
render(){
return(
<div> {/* props의 오브젝트 값을 사용한다.*/}
{this.props.contact.name} {this.props.contact.phone}
</div>
);
}
}
// Contact 데이터 생성
class Contact extends React.Component{
constructor(props){
super(props);
// state.contactData 배열 선언
this.state = {
contactData:[
{name:'Abet', phone:'010-0000-0001'},
{name:'Betty', phone:'010-0000-0002'},
{name:'Charlie', phone:'010-0000-0003'},
{name:'David', phone:'010-0000-0004'}
]
}
}
render(){
// ES6의 애로우 문법
const mapToComponent = (data) => {
// map 메소드는 내부의 콜백함수로 새로운 배열로 만들어낸다.
// map 메소드 contact = currentValue, i = index, array = 배열
return data.map((contact, i, array) => {
// {name:'Abet', phone:'010-0000-0001'} ...
return (<ContactInfo contact={contact} key={i}/>);
})
};
return(
<div>
{
/* mapToComponent에 배열 파라미터를 주입하여 새로운 배열을 만들어낸다. */
mapToComponent(this.state.contactData)
}
</div>
);
}
}
class App extends React.Component{
render(){
return(
<Contact/>
);
}
};
// 실제 페이지에 JSX 코드를 렌더링 하기 위해 사용됨
ReactDOM.render(<App/>, document.getElementById('root'));
Component를 사용하여 JSX 코드를 자동생성하여 렌더링한다.
이 코드는 템플릿과 같은 Component를 만들어 props 값만 사용하도록 하고
템플릿을 사용하는 Component에 값만 주입하여 JSX코드를 생성하도록 해준다.
JS의 map 메소드를 사용하면 해당 배열을 함수 인자로 받아 새로운 배열로 반환하여 생성된다.
'Develop > React' 카테고리의 다른 글
(React & Express 를 이용한 웹 어플리케이션 개발하기) 5일차 - 간단한 State 활용 검색 (0) | 2021.01.12 |
---|---|
(React & Express 를 이용한 웹 어플리케이션 개발하기) 4일차 - React-Hot-Loader (0) | 2021.01.06 |
(React & Express 를 이용한 웹 어플리케이션 개발하기) 3일자 - 환경구축 (0) | 2021.01.06 |
(React & Express 를 이용한 웹 어플리케이션 개발하기) 1일자 - JSX, props, state (0) | 2020.12.31 |
(React & Express 를 이용한 웹 어플리케이션 개발하기) 1일차 - 기본 (0) | 2020.12.31 |
Comments