ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • React 시작하기 2. Props
    DEV/react 2023. 12. 15. 18:48
     

    Props

    Properties는 component에 데이터를 전달하기 위해 사용됩니다.

     

    1. src/App.js

    import React from 'react';
    import Sample from './Sample';
    
    function App() {
      return (
        <div>
          <Sample text="This is " name="react" />
        </div>
      );
    }
    
    export default App;

     

    2. src/Sample.js

    // 컴포넌트 생성을 위해 React Import
    import React from 'react';
    
    /**
     * [Props sample]
     * @param {*} props 전달 데이터
     * @returns 
     */
    function Sample(props) {
      return <div>{props.text} {props.name} sample component!!</div>
    }
    
    // 컴포넌트 내보내기 (다른 컴포넌트에서 불러오기 위해!!)
    export default Sample;

     

    또는 

     

    // 컴포넌트 생성을 위해 React Import
    import React from 'react';
    
    /**
     * [Props sample]
     * @param {*} props 전달 데이터
     * @returns 
     */
    function Sample({text, name}) {
      return <div>{text} {name} sample component!!</div>
    }
    
    // 컴포넌트 내보내기 (다른 컴포넌트에서 불러오기 위해!!)
    export default Sample;

     

     

    잘 작동한다!!

     

     

    defaultProps

    props를 넘겨주지 않았을 때, 기본적으로 적용되는 값

     

    1. src/Sample.js

    // 컴포넌트 생성을 위해 React Import
    import React from 'react';
    
    /**
     * [Props sample]
     * @text {*} 전달 데이터
     * @name {*} 전달 데이터
     * @returns 
     */
    function Sample({text, name}) {
      return <div>{text} {name} sample component!!</div>
    }
    
    Sample.defaultProps = {
      name: 'nothing',
    }
    
    // 컴포넌트 내보내기 (다른 컴포넌트에서 불러오기 위해!!)
    export default Sample;

     

    2. src/App.js

    import React from 'react';
    import Sample from './Sample';  // Sample component 불러오기
    
    function App() {
      return (
        // 아까 작성한 Sample component 사용
        <div>
          <Sample text="This is " />
        </div>
      );
    }
    
    export default App;

     

     

    nothing!

     

     

    props.children

    Component tag 사이에 무언가 넣고 싶은 경우

     

    1. src/Sample.js

    // 컴포넌트 생성을 위해 React Import
    import React from 'react';
    
    /**
     * [Props sample]
     * @children {*} <div 2개 넣었지롱>
     * @returns 
     */
    function Sample({ children }) {
      const style = {
        border: '5px solid red',
        padding: '10px',
      }
      return <div style={style}>{children}</div>
    }
    
    // 컴포넌트 내보내기 (다른 컴포넌트에서 불러오기 위해!!)
    export default Sample;

     

    2. src/App.js

    import React from 'react';
    import Sample from './Sample';  // Sample component 불러오기
    
    function App() {
      return (
        // 아까 작성한 Sample component 사용
        <div>
          <Sample>
            <div>SAMPLE</div>
            <div>CODE</div>
          </Sample>
        </div>
      );
    }
    
    export default App;

     

    끝!

     

    'DEV > react' 카테고리의 다른 글

    React 시작하기 5. Input State  (1) 2024.01.03
    React 시작하기 4. useState  (1) 2024.01.03
    React 시작하기 3. 조건부 렌더링  (0) 2023.12.22
    React 시작하기 1. Component  (0) 2023.12.15
    React node로 react app 만들기 및 실행  (0) 2022.11.29

    댓글

Designed by Tistory.