[React] 부모 컴포넌트에서 자식 컴포넌트에 값 전달하기

2023. 3. 14. 08:35·React
목차
  1. props의 개념
  2. props의 사용
  3. 예시) 상위 컴포넌트
  4. 하위 컴포넌트
  5. 예시) 상위 컴포넌트
  6. 하위 컴포넌트
  7. 🔗 참고
728x90
반응형

navigate도 많이 쓰고 여러가지 쓰는데 부모 컴포넌트에서 자식 컴포넌트에 값 전달하는 방법도 있을 것 같아, 찾아보다가 정리하게 되었다.

props의 개념

  • 상위 컴포넌트에서 하위 컴포넌트로 값을 전달하는 수단.
  • 하위 컴포넌트에서 상위 컴포넌트가 전해준 값에 접근을 할 수 있게 한다.
  • 하위 컴포넌트에서 상위 컴포넌트로 값을 전달할 수 없다.

props의 사용

1. 상위 컴포넌트에서 하위 컴포넌트로 값 전달

1) 상위 컴포넌트(부모 컴포넌트)

function 함수=()=>{
	 const [변수, set변수] = useState('')
}

const 상위페이지이름 =()=>{
	<하위페이지이름 value={변수} /> 
}

2) 하위 컴포넌트(자식 컴포넌트)

<p>전달 받은 값 : {props.value}</p>

값이 전달되는 방식

  1. 상위 컴포넌트에서 넘겨주고자 하는 값을 선언한다. (useState를 사용한다.)
  2. 받고자하는 하위 컴포넌트에 value값을 넣어 넘겨준다.
  3. 하위컴포넌트에서 props로 받아, 값을 받아온다.
  4. props.상위컴포넌트 변수값을 넣어 가져온다.

예시) 상위 컴포넌트

import React, { useState } from "react";
import Down from "./Down";

function Up() {
  const [test, setTest] = useState("유희왕짱");
  return (
    <div>
      <Down value={test}></Down>
    </div>
  );
}
export default Up;
반응형

하위 컴포넌트

import React from 'react';

function Down(props){
  return(
    <div>
      <p>전달 받은 값:{props.value}</p>
    </div>
    )
}
export default Down;

→ 상위 컴포넌트 안에 하위 컴포넌트가 포함되어 있어야 한다. 그러면 상위컴포넌트에서 하위값이 나타나게 된다.

url
url
전달 받은 값
전달 받은 값

2. 하위 컴포넌트에서 상위 컴포넌트로 값 전달

: setter 함수를 이용하여 부모 컴포넌트에게 데이터를 전달

1) 상위 컴포넌트(부모 컴포넌트)

function 상위페이지이름 =()=>{
	const [변수, set변수] = useState('')
	<하위페이지이름 set변수={set변수} /> 
}

2) 하위 컴포넌트(자식 컴포넌트)

function 함수 =(props)=> {
	function 함수이름(){
        props.상위컴포넌트set변수("바꾸고자 하는 값");
      }
	<button onClick={함수이름}>부모 컴포넌트로 데이터 전달</button>
}

예시) 상위 컴포넌트

import React, { useState } from "react";
import Down from "./Down";

function Up() {
  const [test, setTest] = useState("유희왕짱");
  return (
    <div>
      <Down setTest={setTest}></Down>
      <p>{test}</p>
    </div>
  );
}
export default Up;

하위 컴포넌트

import React from 'react';

function Down(props){
    function sendData(){
        props.setTest("자식 데이터");
      }
  return(
    <div>
      <button onClick={sendData}>부모 컴포넌트로 데이터 전달</button>
    </div>
    )
}
export default Down;

하위컴포넌트에서 상위 컴포넌트로 값을 전달

  1. 하위 컴포넌트에서 함수를 만든다. 그리고 props.

부모 컴포넌트로 데이터 전달부모 컴포넌트로 데이터 전달
부모 컴포넌트로 데이터 전달

🔗 참고

https://webaura.tistory.com/entry/Reactjs-부모에서-자식-자식에서-부모-값-전달하는-방법-props-function

https://covelope.tistory.com/entry/React리액트-하위-컴포넌트에서-데이트-받아서-상위-컴포넌트로-전달

https://intrepidgeeks.com/tutorial/pass-values-to-parentchild-components

https://songzzi.github.io/2021/11/21/react-2/ → 설명 잘 되어 있음

https://itprogramming119.tistory.com/entry/React-Objects-are-not-valid-as-a-React-child-해결-방법 → 오류

728x90
반응형
저작자표시 비영리 변경금지
  1. props의 개념
  2. props의 사용
  3. 예시) 상위 컴포넌트
  4. 하위 컴포넌트
  5. 예시) 상위 컴포넌트
  6. 하위 컴포넌트
  7. 🔗 참고
'React' 카테고리의 다른 글
  • [React] PropTypes 개념 알아보고 활용하기
  • [React] 로그인 시간 설정하기
  • [React] react 모바일 페이지 구현하기
  • [React] react 게시글 작성해보고 구현하기
Uheeking
Uheeking
안녕하세요. react, flutter, node.js에 관련해서 글을 쓰는 블로그입니다.
Uheeking
Uheeking의 it로그
Uheeking
전체
오늘
어제

공지사항

  • 분류 전체보기 (254)
    • React (48)
    • Node.js (32)
    • Next.js (22)
    • Vue.js (15)
    • javascript (3)
    • Django (19)
    • etc (23)
    • Flutter (30)
    • Error (16)
    • AWS (11)
    • docker & Kubernetes (32)
    • git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
250x250

인기 글

태그

  • mosquitto
  • 쿠버네티스
  • SSR
  • 장고
  • sequelize
  • node.js
  • Create
  • error
  • Vue.js
  • 도커
  • 노드
  • MySQL
  • supabase
  • next.js
  • Django
  • Express
  • Props
  • 플러터
  • 넥스트
  • React
  • 리액트
  • AWS
  • Kubernetes
  • flutter
  • 오블완
  • NEXT
  • 티스토리챌린지
  • firebase
  • docker
  • useEffect

최근 댓글

최근 글

250x250
hELLO· Designed By정상우.v4.5.2
Uheeking
[React] 부모 컴포넌트에서 자식 컴포넌트에 값 전달하기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.