useLight
조명 핸들을 만들고 설정합니다.
useLight(options?)
Edge.Provider 없이 조명을 직접 관리할 때 사용할 Light 핸들을 반환합니다. 핸들의 참조는 유지되며, 옵션이 바뀌면 기존 조명이 갱신됩니다. 이 핸들을 useSurface(light, options)에 전달하세요. 일반적인 컴포넌트 트리에서는 Edge.Provider를 사용하면 됩니다.
useLight 시그니처
function useLight(options?: LightOptions): Light;| Prop / 옵션 | 타입 | 기본값 | 설명 |
|---|---|---|---|
motion | 'system' | 'dynamic' | 'static' | 'system' | system은 동작 줄이기와 입력 장치 설정을 따릅니다. dynamic은 동작 줄이기가 켜져 있어도 마우스나 펜을 따라갑니다. static은 고정 방향을 유지합니다. 터치하면 화면 기준 조명 위치를 갱신합니다. 스크롤하거나 손가락을 떼도 마지막 위치를 유지하고, 그 아래로 이동하는 서피스가 반응합니다. 다시 터치하면 위치를 갱신합니다. 터치 추적도 선택한 모션 모드를 따릅니다. static은 고정되고 system은 동작 줄이기가 켜져 있으면 고정됩니다. |
staticDirection | number | 'random' | 315 | 고정 조명의 방향을 도 단위로 지정합니다. random은 마운트할 때 공유 방향 하나를 선택하고 재렌더링 시에는 유지합니다. 숫자는 유한한 값이어야 합니다. |
direction | 'toward' | 'away' | 'toward' | toward는 하이라이트가 포인터를 향하게 하고, away는 방향을 180도 반전합니다. 모든 서피스 스타일이 이 선택을 유지합니다. 포인터를 따르는 조명에만 적용되며, 고정 조명은 staticDirection으로 방향을 정합니다. |
range | number | 480 | 서피스 바깥에서 조명이 희미해지는 거리입니다. 동적 조명에만 적용되며, 뷰포트 기준 CSS 픽셀 단위의 유한한 양수를 지정하세요. |
intensity | number | 0.75 | 공유 조명의 강도입니다. 0~1 사이의 유한한 값을 지정하세요. 범위를 벗어나거나 유한하지 않은 값은 RangeError를 발생시킵니다. |
range는 동적 조명에만 적용됩니다. 고정 조명은 거리에 따라 감쇠하지 않으며 staticDirection로 방향을 정합니다.
light.refresh()
다음 프레임에서 서피스의 위치와 크기를 다시 측정합니다. 크기 변경 알림 없이 요소의 위치나 테두리 두께만 바뀌었다면 React가 변경을 반영한 뒤 호출하세요. 포인터가 멈춰 있어도 갱신됩니다.
refresh 시그니처
interface Light { refresh(): void;}크기 변경과 스크롤은 자동으로 감지합니다. 자세한 내용은 레이아웃 갱신을 참고하세요.