UNPKG

react-native-unistyles

Version:
20 lines (15 loc) 636 B
import { useEffect } from 'react' import { type SharedValue, useSharedValue } from 'react-native-reanimated' import { UnistyleDependency, UnistylesRuntime } from '../specs' import type { UnistylesTheme } from '../types' import { services } from '../web/services' export const useAnimatedTheme = () => { const theme = useSharedValue(UnistylesRuntime.getTheme()) useEffect(() => { const dispose = services.listener.addListeners([UnistyleDependency.Theme], () => theme.set(UnistylesRuntime.getTheme())) return () => { dispose() } }, []) return theme as SharedValue<UnistylesTheme> }