본문 바로가기
Front-end/React

Component(컴포넌트)와 Props

by 개미는뚠뚠딴 2020. 11. 27.
반응형

이전 React 글에 이어 오늘은 Component와 Props에 대해서 복습을 해볼까 한다.

리액트 공식문서를 좀 참고했다 !

import React from "react";
import "./styles.css";

function App() {
  return (
    <div className="App">
      <h1>Hello World</h1>
    </div>
  );
}

export default App

이것은 함수형으로 작성된 컴포넌트이다. 

이렇게 함수형으로 작성된 컴포넌트는 클래스형 컴포넌트로 바꿀 수 있는데 React.Component를 상속받아서 만들면 된다.

import React from "react";
import "./styles.css";

class App extends React.Component {
 render(){
  return (
    <div className="App">
      <h1>Hello World</h1>
    </div>
  );
 }
}

export default App

이러한 컴포넌트들은 자식 컴포넌트들에게 데이터들 넘겨줄 수 있는데 이를 props 객체라고 하고 이는 단일 객체로 전달된다.
또한 이 props 객체는 자식 컴포넌트에서 수정이 안되며 읽기 전용으로 사용해야 한다.

다음은 자식 컴포넌트로 App 컴포넌트에서 데이터를 넘겨주는 예제이다.

import React from "react";
import "./styles.css";

class App extends React.Component {
 render(){
  return (
    <div className="App">
      <Greeting name="Mike" />
    </div>
  );
 }
}

function Greeting(props) {
  return <h1>Hello, {props.name}</h1>;
}

export default App

실행 화면

이렇게 원하는 데이터가 렌더링 된 것을 볼 수 있다. 

컴포넌트는 여러 개 사용 가능하며 넘겨줄 데이터는 객체이기 때문에 키 값을 여러 개 지정하는 것도 가능하다.

import React from "react";
import "./styles.css";

class App extends React.Component {
 render(){
  return (
    <div className="App">
      <Greeting name="Mike" say="I like React" />
      <Greeting name="Nick" say="Me too.."/>
    </div>
  );
 }
}

function Greeting(props) {
  return (
    <> 
    <h1>Hello, {props.name}</h1>
    <h2>{props.say}</h2>
    </>
  );
}

export default App

실행 화면

(실습은 codesandbox에서 실행했다.)

리액트에서는 구조 분해 할당이 자주 쓰이는데 props로 데이터를 받을 때도 구조 분해 할당을 이용하면 좀 더 간편하게 사용이 가능하다.

import React from "react";
import "./styles.css";

class App extends React.Component {
 render(){
  return (
    <div className="App">
      <Greeting name="Mike" say="I like React" />
      <Greeting name="Nick" say="Me too.."/>
    </div>
  );
 }
}

function Greeting({name, say}) {
  return (
    <> 
    <h1>Hello, {name}</h1>
    <h2>{say}</h2>
    </>
  );
}

export default App

넘겨받을 props 객체의 키 값을 일치시켜 주어 변수로 받을 수 있게 되었다.

이렇게 간단하게 Components와 Props에 대해서 알아보았다. 

반응형

'Front-end > React' 카테고리의 다른 글

Lifecycle 생명주기  (0) 2020.11.27
this.state와 this.setState  (0) 2020.11.27
React의 주요 개념과 사용법  (0) 2020.11.27

댓글