-
[React] 고객 컴포넌트를 분리하여 다수의 고객 정보 보여주기React & Node.js 2020. 4. 29. 11:05
폴더 구조
src > App.js
src > components > Customer.js
---------------
src > App.js
import React, { Component } from 'react'; import './App.css'; import Customer from './components/Customer.js'; const customers = [ { 'id': 1, 'image': 'https://placeimg.com/64/64/1', 'name': '홍길동', 'birthday': '12345', 'gender': '남자', 'job': '대학생' }, { 'id': 2, 'image': 'https://placeimg.com/64/64/2', 'name': '이순진', 'birthday': '999999', 'gender': '남자', 'job': '대학생' }, { 'id': 3, 'image': 'https://placeimg.com/64/64/3', 'name': '유관순', 'birthday': '111111', 'gender': '여자', 'job': '대학생' } ] class App extends Component { render() { return ( <div> { customers.map(c => { //c에는 customer이다. 예를들어 홍길동, 예준석, 박지영 처럼 return ( <Customer id={c.id} image={c.image} name = {c.name} birthday = {c.birthday} gender = {c.gender} job = {c.job} /> ) }) } </div> ); } } export default App;
src > components > Customer.js
import React from 'react'; class Customer extends React.Component { render() { return ( <div> <CustomerProfile id={this.props.id} image={this.props.image} name={this.props.name}/> <CustomerInfo birthday={this.props.birthday} gender={this.props.gender} job={this.props.job}/> </div> ) } } class CustomerProfile extends React.Component { render() { return ( <div> <img src={this.props.image} alt="profile"/> <h2>{this.props.name}({this.props.id})</h2> </div> ) } } class CustomerInfo extends React.Component { render(){ return( <div> <p>{this.props.birthday}</p> <p>{this.props.gender}</p> <p>{this.props.job}</p> </div> ) } } export default Customer;
결과
'React & Node.js' 카테고리의 다른 글
React - Nodejs 연결 (0) 2020.04.29 [React] 웹사이트 꾸미기: Material UI (0) 2020.04.29