본문 바로가기
React

[React] map 사용방법

by watergrace2u 2020. 10. 30.
반응형
SMALL

- map() 메소드는 파라미터로 전달 된 함수를 통하여 배열 내의 각 요소를 순차적으로 돌며 그 결과로 새로운 배열을 생성한다.

 

AreaList.js

import React, { Component } from 'react';
import AreaListForm from './AreaListForm';
import AddedArea from './AddedArea';


class AreaList extends Component {
  state={
    areaInfo:[],
  }
  handleCreate=(data)=>{
    const{areaInfo}=this.state;
    this.setState({
      areaInfo:areaInfo.concat(data)
    })
    
  }
  render() {
    return (
      <div>
        <AreaListForm onCreate={this.handleCreate} />
        {/* {JSON.stringify(this.state.areaInfo)} */}
        {/* <AreaListInfo data={this.state.areaInfo}/> */}
        <AddedArea data={this.state.areaInfo}/>
      </div>
    );
  }
}

export default AreaList;

 

AreaListForm.js

import React, { Component } from 'react';

// 로그인 한 건물 관리자가 관리중인 건물 목록 표시 화면
// /area/list
class AreaListForm extends Component {
  id = 0;

  state={
    name: '',
  }
  handleChange=(e)=>{
    this.setState({
      [e.target.name]:e.target.value 
    })
  }

  handleSubmit=(e)=>{
    e.preventDefault();
    this.props.onCreate(this.state);
    this.setState({
      name:'',
    })
  }
  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <input 
          name="name"
          className="areaList"
          placeholder="건물 추가" 
          value={this.state.name}
          onChange={this.handleChange} 
        />
        <input type="submit" value="등록"/>
        
      </form>
    );
  }
}

export default AreaListForm;

 

AddedArea.js

import React,{Component} from 'react';

class AddedArea extends Component {
    static defaultProps = {
        data:[]
    }
    render(){
        const {data} = this.props;
        const list = data.map((contact,id)=>{
            return (<li>{contact.name} {id}</li>)
        })
        return(
            <div>
                {list}
            </div>
        )
    }
};

export default AddedArea;

 

{id}는 키값으로 사용.

그냥 {contact}가 아니라 {contact.name}으로 해주어야함!!! (여기서 헤맴)

반응형
LIST

'React' 카테고리의 다른 글

[study] 첫번째 수업  (0) 2020.11.21
[React] LifeCycle API 사용 예제  (0) 2020.10.05
[React] LifeCycle API 설명  (0) 2020.10.04
[React] State 사용법  (0) 2020.10.04
[React] 함수형 컴포넌트 (+비구조화 할당)  (0) 2020.10.04

댓글