props

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

<u>**Component.defaultProps**</u> = {
	message: "기본값"
}

state

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

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

🔝 위로 가기