본문 바로가기
FrontEnd/React

[ReactJS] prop

by kurooru 2023. 1. 9.

리액트는 UI 내에서 같은 작업을 반복할 때 이를 좀더 간편하게 처리해 준다.

다음 코드를 살펴보자

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="root"></div>
  </body>
  
  <!-- How to import React(engine) -->
  <script src="https://unpkg.com/react@17.0.2/umd/react.production.min.js"></script>
  <!-- How to import React-dom(put elements into HTML) -->
  <script src="https://unpkg.com/react-dom@17.0.2/umd/react-dom.production.min.js"></script>
  <!-- How to make browser read JSX syntax (using babel)-->
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
  
  <script type="text/babel">
    
    function Btn({ banana, big }) {
      return <button
      style={{backgroundColor:"tomato", color:"white", padding:"10px 20px", border:0, borderRadius:10, fontSize: big ? 18 : 16}}
      >
      {banana}
      </button>
    }
    
    function App () {
      return (
        <div>
          <Btn banana="Save Changes" big={true}/>
          <Btn banana="Continue" big={false}/>
        </div>
      )
    };

    // find id="root" from document(HTML)
    const root = document.getElementById("root");
    
    // initial render
    ReactDOM.render(<App />, root);
  </script>
</html>

여느때와 마찬가지로 initial render와 함께 시작하고 App 컴포턴트를 root 내에 담아준다.

그리고 App 컴포넌트는 Btn 컴포넌트를 두 번 작동시키는데,

이 때에 중요한 점은 인수를 안고 넘어간다는 것이다.

첫 Btn의 경우 banana라는 키에 Save Changes라는 값 그리고 big이라는 키에 true라는 값을 갖고 넘어가며,

이에 따라 버튼에 쓰여질 내용, 그리고 글씨 크기가 정해져 첫 버튼이 print된다.

그리고 두번째 Btn의 경우 banana라는 키에 Continue라는 값 그리고 big 이라는 키에 false라는 값을 갖고 넘어간다.

마찬가지로 이에 따라 버튼에 쓰여질 내용, 그리고 글씨 크기가 정해져 두 번째 버튼이 print된다.

 

'FrontEnd > React' 카테고리의 다른 글

[ReactJS] Prop Types  (0) 2023.01.09
[ReactJS] memo  (0) 2023.01.09
[ReactJS] prop에 대한 이해  (0) 2023.01.08
[ReactJS] input, form  (0) 2023.01.07
[ReactJS] React.useState()  (0) 2023.01.07