Saltar al contenido

useLight

Crea y configura un identificador de luz.

useLight(options?)

Devuelve un objeto Light de referencia estable para gestionar la luz sin Edge.Provider. Los cambios de opciones actualizan la luz existente. Pásalo a useSurface(light, options). Para un árbol de componentes habitual, basta con Edge.Provider.

Firma de useLight
function useLight(options?: LightOptions): Light;
useLight options
Prop / opciónTipoPredeterminadoDescripción
motion'system' | 'dynamic' | 'static''system'system respeta las preferencias de movimiento y del dispositivo. dynamic sigue el ratón o lápiz incluso con movimiento reducido. static mantiene una dirección fija. El toque actualiza la posición de la luz en coordenadas de pantalla. Al desplazarse o levantar el dedo se conserva la última posición; las superficies reaccionan al pasar por debajo. Un nuevo toque actualiza la posición. El seguimiento táctil respeta el modo elegido: static permanece fijo y system permanece fijo si está activada la reducción de movimiento.
staticDirectionnumber | 'random'315Dirección en grados para iluminación fija. random elige una dirección compartida por montaje y la conserva al volver a renderizar. Los números deben ser finitos.
direction'toward' | 'away''toward'toward orienta el reflejo hacia el puntero y away lo invierte 180 grados. Todos los estilos mantienen esta elección. Solo afecta a la luz que sigue al puntero; staticDirection controla la dirección fija.
rangenumber480Distancia de atenuación de la luz dinámica fuera de una superficie, en píxeles CSS del viewport. Debe ser positiva y finita.
intensitynumber0.75Intensidad de la luz compartida. Debe ser finita y estar entre 0 y 1; los valores inválidos lanzan RangeError.

range solo afecta a la iluminación dinámica. La luz fija no se atenúa con la distancia y usa la dirección indicada por staticDirection.

light.refresh()

Vuelve a medir las superficies en el siguiente fotograma, incluso con el puntero inmóvil. Llámalo después de que React aplique cambios de posición o grosor del borde sin notificación de tamaño.

Firma de refresh
interface Light {
refresh(): void;
}

Los cambios de tamaño y el scroll se detectan automáticamente. Consulta actualizaciones de diseño para más información.

bolerish/edge · React