본문 바로가기

개인공부

React : 자식에서 부모 컴포넌트로 값 전달

반응형
constructor(props){
  super(props);
  this.setParentValue = this.setParentValue.bind(this);
}

부모에서 자식으로 값을 상속할때는 props를 이용해서 값을 전달 한다.

 

// 부모 컴포넌트에서 자식으로 id, name 값 전달.
<Child
	id={index}
	name={myname}
/>

// 자식에서 부모 값 받기.

const {id} = this.props;

그렇다면 자식에서 특정한 함수, 또는 조건시에서 부모컴포넌트로 값을 전달하는 방법은 어떻게 할까?

부모에서는 받을 수 있는 방법은 없지만 함수를 자식에게 전달하고 그 함수를 조작하는 것으로 자식에서 부모의 값을 컨트롤 할 수 있다.

 

 

부모 컴포넌트에서 함수를 설정한다.

setState는 리액트 분기중 화면에 값들이 렌더링 된후 setState를 이용해 state값을 변경하고 새롭게 렌더링할 때 사용한다.

setParentValue(v){
	this.setState({value : v})
}

 

이 함수를 자식 컴포넌트에 전달한다.

<Child
	setParentValue = {this.setParentValue}
/>

 

자식 컴포넌트에서는 전달한 함수를 특정 조건에서 사용하면 된다.

지금은 input에 새로운 값이 적용되엇을 때 그값을 부모로 전달하겠다.

<input
	type="text"
    onChange={() => {
    	this.props.setParentValue("test");
    }
/>

 

기본적인 경우이고 최근에 ES6로 버전이 올라가면서 자식에서 부모로 값을 전달하는 함수에 대해서는 부모 컴포넌트 생성자에서 다음과 같이 설정해줘야한다.

 

반응형

'개인공부' 카테고리의 다른 글

CSS 말줄임 후 더보기 버튼 (React)  (0) 2021.05.02
SHA-256  (0) 2021.04.17
SSR , CSR 읽어볼만한 거  (0) 2021.04.08
css관련 읽어볼만한 속성  (0) 2021.03.25
React : 다양한 프로퍼티 사용  (0) 2021.03.24