3-1. import와 require 비교

  1. require
  1. import

3-2. 리액트 반복문(map)

// 예시
import React, { Component } from "react";

class ExampleMap extends Component {
  render() {
    return (
      <>
        <ul>
          {/* 반복되는 데이터는 배열로 만든다. */}
          {/* 1. 2차원 배열을 만드는 방법 */}
          {[
            ["사과", "맛있어"],
            ["바나나", "달아"],
            ["포도", "시다"],
            ["귤", "밍밍하다"],
            ["감", "떫다"],
            ["복숭아", "달고맛있다"],
          ].map((v) => <li><b>{v[0]}</b>: {v[1]}</li>)}

          {/* 2. 객체 배열을 만드는 방법 */}
          {[
            { name: "사과", description: "맛있어" },
            { name: "바나나", description: "달아" },
            { name: "포도", description: "시다" },
            { name: "귤", description: "밍밍하다" },
            { name: "감", description: "떫다" },
            { name: "복숭아", description: "달고맛있다" },
          ].map((v) => (
            <li>{v.name}-{v.description}</li>
        </ul>)}
      </>
    );
  }
}

export default ExampleMap;

3-3. 리액트 반복문(key)

// 예시
import React, { Component } from "react";

class ExampleKey extends Component {
  render() {
    return (
      <>
        <ul>
          {[
            { name: "사과", description: "맛있어" },
            { name: "바나나", description: "달아" },
            { name: "포도", description: "시다" },
            { name: "귤", description: "밍밍하다" },
            { name: "감", description: "떫다" },
            { name: "복숭아", description: "달고맛있다" },
          ].map((v, i) => (
						{/* key 값은 유일한 값을 넣어준다! */}
            <li key={v.name + v.description}>
              {v.name}-{v.description}
            </li>
					)}
        </ul>
      </>
    );
  }
}

export default ExampleKey;

3-4. 컴포넌트 분리와 props

import React, { Component } from "react";
import Try from "./Try";

class ExampleKey extends Component {
	fruits = [
		{ name: "사과", description: "맛있어" },
		{ name: "바나나", description: "달아" },
		{ name: "포도", description: "시다" },
		{ name: "귤", description: "밍밍하다" },
		{ name: "감", description: "떫다" },
		{ name: "복숭아", description: "달고맛있다" }];

  render() {
    return (
      <>
        <ul>
          {this.fruits.map((v, i) => (
						{/* props로 데이터 상속 */}
						<Try key={v.name + v.description} value={v} index={i} />
					)};
        </ul>
      </>
    );
  }
}

export default ExampleKey;