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
는 위에서 아래로만 전송이 가능하기 때문 ✅