@livelike/react-native
Version:
LiveLike React Native package
34 lines (29 loc) • 834 B
text/typescript
import { getReactionSpaceDetail } from '@livelike/javascript';
import { useEffect } from 'react';
import {
reactionSpaceStore,
reactionSpaceStoreActions,
} from '../store/reactionSpace';
import { useStore } from './useStore';
export type UseReactionSpaceArg = {
targetGroupId: string;
};
export function useReactionSpace({ targetGroupId }: UseReactionSpaceArg) {
const reactionSpaceStoreValue = useStore(reactionSpaceStore);
useEffect(() => {
if (reactionSpaceStoreValue[targetGroupId]) {
return;
}
getReactionSpaceDetail({
targetGroupId,
}).then((reactionSpace) => {
reactionSpaceStoreActions.updateReactionSpaceAction({
targetGroupId,
reactionSpace,
});
});
}, [targetGroupId]);
return {
reactionSpace: reactionSpaceStoreValue[targetGroupId],
};
}