해당 포스트는 코드아카데미의 React 101 강의의 필기입니다.
stateful component
: state property를 가지고 있는 컴포넌트
stateless ccomponent
: state property를 가지고 있지 않은 컴포넌트
이제부터 다룰 프로그래밍 패턴은 stateful component가 stateless component에게 state를 주어서, stateless component가 stateful component의 state을 inherit하는 방식
→ 이거 참 말장난이네요...
(정말 클래스형 컴포넌트 쓰기 싫지만)
state를 가진 클래스형 컴포넌트를 정의한다.
import React from 'react';
import ReactDOM from 'react-dom';
class Parent extends React.Component {
constructor(props) {
super(props);
this.state = { name: 'Frarthur' }
}
render() {
return <div></div>;
}
}
stateless가 될 Child 컴포넌트를 만든다.
{this.props.이름}
식으로 사용한다.import React from 'react';
export class Child extends React.Component {
render() {
return <h1>Hey, my name is {this.props.name}!</h1>;
}
}
Parent
에서 Child
로 state를 넘겨줘야한다
import { Child } from './Child';
render() {
return <Child />;
}
render() {
return <Child name={this.state.name} />;
}
그러면 완료! Parent 컴포넌트를 ReactDOM에 렌더링 해준다.
ReactDOM.render(<Parent />, document.getElementById("app"));