UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

32 lines 1.12 kB
import * as React from 'react'; import { useDispatch, useSelector, useStore } from 'react-redux'; import { HMSInstanceSetup } from './HMSInstanceSetup'; import { HMSRoomSetup } from './HMSRoomSetup'; import { MeetingState } from './types'; import { clearStore } from './redux/actions'; export const HMSContainer = () => { const store = useStore(); const dispatch = useDispatch(); const hmsInstance = useSelector(state => state.user.hmsInstance); React.useEffect(() => { if (hmsInstance) { const cleanup = async () => { const userExited = store.getState().app.meetingState === MeetingState.EXITED; if (!userExited) { await hmsInstance.leave(); await hmsInstance.destroy(); } dispatch(clearStore()); }; return () => { cleanup(); }; } }, [hmsInstance, store]); const isHMSInstanceAvailable = !!hmsInstance; if (isHMSInstanceAvailable) { return /*#__PURE__*/React.createElement(HMSRoomSetup, null); } return /*#__PURE__*/React.createElement(HMSInstanceSetup, null); }; //# sourceMappingURL=HMSContainer.js.map