보라코딩

자식 - 부모 component 통신 (상향식) 본문

코딩/REACT

자식 - 부모 component 통신 (상향식)

new 보라 2023. 10. 5. 19:15

부모(NewExpense.js)에서 자식(ExpenseForm)으로

ExpenseForm onSaveExpenseData={saveExpenseDataHandler}

함수 전달하고

자식에서 props로 받는다.

 

 

 

자식에서

props.onSaveExpenseData(expenseData);   // expenseData에는 form으로 전달한 데이터가 들어있다.

이러한 방식으로 부모에게 전달한다.

const submitHandler = (event) => {
    event.preventDefault();
 
    const expenseData = {
      title: enteredTitle,
      amount: enteredAmount,
      date: new Date(enteredDate),
    };
 
    props.onSaveExpenseData(expenseData);
    setEnteredTitle("");
    setEnteredAmount("");
    setEnteredDate("");
  };

  return (
    <form onSubmit={submitHandler}> ... </form>);

 

 

 

 

 

부모는 함수에서 전달받은 데이터를 확인할 수 있다.

const NewExpense = () => {
  const saveExpenseDataHandler = (enteredExpenseData) => {
    const expenseData = {
      ...enteredExpenseData,
      id: Math.random().toString(),
    };
    console.log("자식에게 받은 데이터 확인", expenseData);
  };

  return (
    <div className="new-expense">
      <ExpenseForm onSaveExpenseData={saveExpenseDataHandler} />
    </div>
  );
};

 

 

 


 

 

 

 

왼쪽이 부모                                                                                      오른쪽이 자식

'코딩 > REACT' 카테고리의 다른 글

리액트훅 심플한 강의  (0) 2023.10.10
리액트 글씨체 적용하기  (0) 2023.10.04
리액트 공공데이터 API 가져오기  (0) 2023.08.20
useEffect() 함수 사용법  (0) 2023.08.04
concat, filter, map, slice, spread, 수정하기  (0) 2023.08.03