UNPKG

@livelike/react-native

Version:

LiveLike React Native package

46 lines 1.51 kB
import { useCallback, useEffect } from 'react'; import { addReactionSpaceEventListener, ReactionSpaceEvent, removeReactionSpaceEventListener, userProfile } from '@livelike/javascript'; import { userReactionStoreActions } from '../store/userReaction'; export function useUserReactionsEffect(_ref) { let { reactionSpaceId } = _ref; const addUserReaction = useCallback(event => { userReactionStoreActions.addUserReactionAction({ reactionSpaceId, userReaction: event.message, profileId: userProfile.id }); }, [reactionSpaceId]); const removeUserReaction = useCallback(event => { userReactionStoreActions.removeUserReactionAction({ reactionSpaceId, userReaction: event.message, profileId: userProfile.id }); }, [reactionSpaceId]); useEffect(() => { if (!reactionSpaceId) { return; } addReactionSpaceEventListener({ event: ReactionSpaceEvent.ADD_REACTION, reactionSpaceId }, addUserReaction); addReactionSpaceEventListener({ event: ReactionSpaceEvent.REMOVE_REACTION, reactionSpaceId }, removeUserReaction); return () => { removeReactionSpaceEventListener({ event: ReactionSpaceEvent.ADD_REACTION, reactionSpaceId }, addUserReaction); removeReactionSpaceEventListener({ event: ReactionSpaceEvent.REMOVE_REACTION, reactionSpaceId }, removeUserReaction); }; }, [reactionSpaceId]); } //# sourceMappingURL=useUserReactionsEffect.js.map