모든 컴포넌트
MotionHeight
내용을 따라가는 높이. 접기, 펼치기, 내용 변화까지.
웹React Native내용과 크기
직접 해 보기
가장 짧은 사용법
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
대신 처리하는 일
- 직접 측정한 내용의 실제 높이로 움직입니다.
- 열린 동안 내용이 늘거나 줄어도 따라갑니다.
- 바뀌는 도중이라도 화면에 보이는 높이에서 출발합니다.
- 페이지 폭이 바뀔 때는 늦게 따라가지 않고 바로 맞춥니다.
- 닫힌 내용은 마운트된 채 숨겨지고 비활성이 되어 상태가 유지됩니다.
이럴 때 쓰세요
- 자주 묻는 질문의 답.
- 펼쳐지는 설정 묶음.
- 전체 높이까지 움직여야 하는 목록(
MotionList를 감싸기).
Props
| Prop | 타입 | 기본값 | 설명 |
|---|
open | boolean | true | false면 높이 0으로 접힙니다. 내용은 마운트된 채 숨겨지고 비활성이 됩니다. |
|---|
children | ReactNode | | 내용. |
|---|
as | element | 'div' | 그릴 요소. |
|---|
transition | Transition | spring | 시간 곡선 { duration, easing } 또는 스프링 { tempo: 'spring', spring }. 스프링은 끊겨도 속도를 이어갑니다. |
|---|
onMotionComplete | (open) => void | | 높이가 멈추면 open과 함께 실행됩니다. |
|---|
그 밖의 props는 그려지는 요소로 전달되므로 className, style, 이벤트 핸들러를 평소처럼 쓸 수 있습니다.