
State 를 넣고 싶을 때??🤔그냥
State사용 시Scope가 달라서 쓸 수 없음
State 전송 가능이 때,
props를 사용✅
props 전송은 부모 ➡️ 자식 일때만 된다
패륜전송 불륜전송 금지ㅎㅎ
<자식컴포넌트
넘겨줄param명={state명}/>
props 파라미터등록 후props.넘겨받은param명사용
//부모
{
조건 ? <Modal color={'black'} 넘겨줄param명={state명}/> : null
}
//자식
const Modal = (props) => {
return (
<div style = {{background : props.color}}> //이런식으로 style을 넘겨 받을 수도 있음
<h4>{props.넘겨받은param명}</h4>
</div>
)
}
보통 넘겨주는 State와 param명을 동일하게 작성하긴 함
컴포넌트 많아지면 State 공유 시 props 쓰는 게 많아지고 귀찮아진다는 단점
props를 파라미터 문법 처럼 생각하면 됨
props로 문자열, 함수명도 전송 가능
굳이 부모에만 state 를 저장해둘 필요는 없음
근데 state 를 자식, 부모 모두 사용할 경우,
사용하는 컴포넌트들 중 최상위 컴포넌트에다 만들어놔야함
props는 위에서 아래로만 전송이 가능하기 때문 ✅