props로 함수 전달하기(매개변수x)
- 부모 컴포넌트
import React from "react";
import Child from "./Child";
const Parent = () => {
// props로 전달할 함수
const testFunc = () => {
console.log("addArticle 함수 호출");
};
return <Child propsFunc={testFunc} />;
};
export default Parent;
- 자식 컴포넌트
import React from "react";
const Child = ({ propsFunc }) => {
return (
<button onClick={propsFunc}> // 버튼 클릭 시 부모 컴포넌트의 testFunc 함수 호출
Add Article
</button>
);
};
export default Child;
props로 함수 전달하기(매개변수O)
- 부모 컴포넌트
const Parent = () => {
// props로 전달할 함수
const testFunc = (title, content) => {
console.log("addArticle 함수 호출");
console.log("title:", title);
console.log("content:", content);
};
// props로 전달할 매개변수
const testTitle = "테스트제목";
const testContent = "테스트내용";
// 자식 컴포넌트 props로 함수와 매개변수를 전달한다
return (
<Child propsFunc={testFunc} param1={testTitle} param2={testContent} />
);
};
- 자식 컴포넌트
const Child = ({ propsFunc, param1, param2 }) => {
// 버튼 클릭 시 실행할 함수
const buttonClick = () => {
propsFunc(param1, param2);
};
// 버튼 클릭 시 부모 컴포넌트의 testFunc가 실행되어 콘솔에 param1과 param2를 출력한다
return (
<button onClick={buttonClick}>버튼 클릭</button>
);
};
이러한 것을
Props Drilling(프롭스 드릴링) 이라고 한다.
상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달할 때 중간 컴포넌트들을 거쳐야 하는 과정을 말한다.
Props Drilling의 단점:
- 컴포넌트 깊이가 깊어지면 관리가 어려움
- 중간 컴포넌트들이 불필요한 props를 전달만 하게 됨
이를 해결하기 위한 방법:
- Redux, Recoil 같은 전역 상태 관리 사용
- Context API 사용
- 컴포넌트 구조 재설계
참고사항
- 자식 컴포넌트에 함수를 전달할 때 기본값을 설정하기
→ 코드의 안전성, 유연성, 명확성 및 가독성을 높이는 데 기여
// 1. 부모 컴포넌트 (PageAiPersona)
function PageAiPersona() {
const updatePersonaList = () => { ... }
return (
<OrganismPersonaCardList
setIsStarred={updatePersonaList} // props로 함수 전달
/>
);
}
// 2. 자식 컴포넌트 (OrganismPersonaCardList)
function OrganismPersonaCardList({ setIsStarred = () => {}) { // props로 받음
const toggleFavorite = () => {
// ...
setIsStarred(updatedPersonaData); // 전달받은 함수 사용
}
}
하위 컴포넌트의 값을 상위(부모)컴포넌트로 전달하기
리액트를 쓰다보면 state, props 개념을 싫더라도 알게 되고 사용하게 되는데, 이 때 자식 컴포넌트에서 props로 넘긴 값을 상위 컴포넌트에서 state로 props로 값을 정해주게 된다. 쉽게 예를 들어보면
doridori-samsam.tistory.com
[React] 컴포넌트 props로 함수 전달하기, 다른 컴포넌트 함수 호출하기
[React] 컴포넌트 props로 함수 전달하기, 다른 컴포넌트 함수 호출하기
props로 함수 전달하기(매개변수x) //부모 컴포넌트 import React from "react"; import Child from "./Child"; const Parent = () => { // props로 전달할 함수 const testFunc = () => { console.log("addArticle 함수 호출"); }; return ; }; e
sooncoding.tistory.com
[React] Props 로 콜백 함수 전달하기 / 어떨때 Props로 콜백 함수를 전달해야 하는가?
[React] Props 로 콜백 함수 전달하기 / 어떨때 Props로 콜백 함수를 전달해야 하는가?
Props 로 콜백 함수 전달하기 개념 정리 Props 란 ? react에서 props는 데이터를 한 컴포넌트에서 다른 컴포넌트로 전달 할 때 사용된다. (부모 -> 자식 ) CallBack Function 이란? 정의: 프로그래밍에서 콜백
developer-jeongyeon.tistory.com
부모에서 자식 / 자식에서 부모 값 전달하기
React에서 부모에서 자식 간에 값을 넘기는 방법에 대해 정리해보았다.부모에서 자식으로 값 전달부모에서 Props를 이용해서 Child 컴포넌트에 전달한다.⭐ props를 이용한다.props란, properties를 줄인
minsun309.tistory.com
'React > 개념' 카테고리의 다른 글
useLocation (0) | 2025.03.31 |
---|---|
replace : true (0) | 2025.03.31 |
state통해 데이터 전달 (0) | 2025.03.24 |
index.js (0) | 2025.03.20 |
const /let (0) | 2025.03.13 |