티스토리 뷰

web/react

[React] props

dev_been94 2024. 2. 14. 19:21
728x90
반응형

props

 

 

React의 기능에는 props라는 부모와 자식 컴포넌트 간의 통신을 할때, 부모 컴포넌트가 자식 컴포넌트한테 원하는 데이터를 보내는것을 의미한다.

 

이러한 점은 커스텀 버튼 이나 다양한 함수로서 사용이 편리하다 .하지만  props는 오브젝트로 오직 한개의 props만 보낼 수 있고, props 오브젝트안의 파라미터 구성은 여러개 가능하다.

 

props는 기본 방법이 있고, 단축어 방법이 있다. 

 

<기본 방법>

 function Btn(props) {
      console.log(props.text, "이 렌더링되었습니다.");
      return (
        <button
          onClick={props.changeValue}
          style={{
            backgroundColor: "tomato",
            color: "white",
            padding: "10px 20px",
            borderRadius: 10,
            border: 0,
            margin: "10px",
          }}
        >
          {props.text}
        </button>
      );
    }
const MemorizedBtn = React.memo(Btn);
    function App() {
      const [value, setValue] = React.useState("Front Buttons");
      const changeValue = () => setValue("Back Changes");

      return (
        <div>
          <MemorizedBtn text={value} changeValue={changeValue} />
          <MemorizedBtn text="ConfirmButton" />
        </div>
      );
    }
ReactDOM.render(<App />, root);

 

<단축어 방법>

    function Btn({text, changeValue}) {
      console.log(text, "이 렌더링되었습니다.");
      return (
        <button
          onClick={changeValue}
          style={{
            backgroundColor: "tomato",
            color: "white",
            padding: "10px 20px",
            borderRadius: 10,
            border: 0,
            margin: "10px",
          }}
        >
          {text}
        </button>
      );
    }

 

오브젝트 props를 생략하고 파라미터 부분에서 해당 오브젝트로 바로 접근( Function Btn({}) 하여

조금 더 간결하게 작성할 수 있다.

728x90
반응형

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

createContext  (0) 2024.12.16
cache  (0) 2024.12.16
act  (0) 2024.12.16
[React] Typescript #01  (0) 2024.02.22
[React] memo function  (0) 2024.02.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형
250x250