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}/>
);
};
// 자식 컴포넌트
// props로 함수와 함수의 매개변수를 전달한다.
const Child = ({ propsFunc, param1, param2 }) => {
// 버튼 클릭 시 실행할 함수
const buttonClick = () => {
propsFunc(param1, param2);
};
// 버튼 클릭 시 부모 컴포넌트의 testFunc가 실행되어 콘솔에 param1과 param2를 출력한다.
return (
<button onClick={buttonClick}>버튼 클릭</button>
);
};
'프론트엔드 > React' 카테고리의 다른 글
리액트 모바일 여백 제거 (0) | 2024.02.27 |
---|---|
[React] EsLint React Hook useEffect has a missing dependency: 'calcSumApplication'. Either include it or remove the dependency array react-hooks/exhaustive-deps 경고 없애기 (0) | 2024.01.23 |
[React] 리액트 스니펫 단축키 (0) | 2024.01.17 |
[React] Vercel을 이용한 리액트 프로젝트 배포 방법 (0) | 2024.01.02 |
[React][CSS] 리액트 배경이미지 적용 (0) | 2023.12.31 |