props

// props (부모로부터 물려 받는 속성)
// 1. 함수 컴포넌트
function Component(**props**) {
    return (<h1>{**props.message**}</h1>)
  }
// 2. 클래스 컴포넌트
class Component extends React.Component {
	render() {
		return (
			<div>
				<h1>{**this.props.message**}
			</div>
		)
	}
}

**Component.defaultProps** = {
	message: "기본값"
}

state

class Component extends React.Component {
    // state 정의 첫 번째 방식
		**state** = {
      count: 0
    }
		// state 정의 두 번째 방식 (생성자 내부에서)
		constructor(props) {
			super(props)
			**this.state** = { count: 0 }

    render() {
      return (
        <p>{**this.state.count**}</p>
      )
    }
		
		// setState 정의 첫 번째 방식 (객체를 인수로)
		**this.setState**({
      count: this.state.count + 1
    })
		// setState 정의 두 번째 방식 (콜백 함수)
		**this.setState**((prevState) => {
			const newState = { count: prevState.count + 1 }
			return newState
		})
}

🔝 위로 가기