속성 추가 (React.SFC<>와 같은 인터페이스나 props를 사용하여 타입을 지정해주는 게 좋음)
constApp=({message})=><div>{message}</div>;
ReactDOM.render(<App message="Hello world again"/>,
document.getElementById('root'));
// 타입 지정const App: React.SFC<{ message:string}>=({message})=><div>{message}</div>;
ReactDOM.render(<App message="Hello world again"/>,
document.getElementById('root'));
또는
type AppProps ={ message:string}const App: React.SFC<AppProps>=({message})=><div>{message}</div>;
ReactDOM.render(<App message="Hello world again"/>,
document.getElementById('root'));
classAppextendsReact.Component<{
message:string//this}>{render(){return(<App message="Hello again"/>,// render()함수에서 사용 가능(string type이 아닌 경우 error!)
document.getElementById('root'));}}
React.Component에서 확장된 컴포넌트는 자체 내부 상태를 가질 수 있기 때문에 stateful이라고 한다.
classAppextendsReact.Component<{
message:string},{
count:number,}>{constructor(props){//생성자에서 상태 초기화super(props);this.state ={
count:0}}render(){return(<div>{this.props.message}{this.state.count}</div>// 살재 값 출력);}}
setState매서드를 이용하여 멤버 함수 호출 가능
classAppextendsReact.Component<{
message:string},{
count:number,}>{constructor(props){super(props);this.state ={
count:0}}render(){return(<div onClick={this.increment}>{this.props.message}{this.state.count}</div>);}increment=()=>{this.setState({// this
count:this.state.count +1});}}
inline type으로 정의 가능
type AppProps ={
message:string,}type AppState ={
count:number,}classAppextendsReact.Component<ApProps, AppState>{...}
댓글
댓글 쓰기