UNPKG

@swissup/pwa-easy-slide

Version:

Easy slide(r) integration into venia-ui

49 lines (42 loc) 1.15 kB
import { useEffect } from 'react'; import { useLazyQuery } from '@apollo/client'; /** * Returns props necessary to render an Autocomplete component. * @param {Object} props * @param {DocumentNode} props.queries - GraphQL query * @param {String} props.identifier */ export const useEasySlider = props => { const { queries: { getEasySliderQuery }, identifier } = props; const [getData, { data: data, error: errorMessage }] = useLazyQuery( getEasySliderQuery ); useEffect(() => { if (errorMessage) { console.error(errorMessage); } }, [errorMessage]); useEffect(() => { getData({ fetchPolicy: 'no-cache', variables: { identifier } }); }, [identifier, getData]); let loadedData = data && data.getEasyslider ? data.getEasyslider : {}; useEffect(() => { if (data && typeof data.getEasyslider !== 'undefined') { loadedData = data.getEasyslider; } }, [loadedData, data]); return { data: loadedData, identifier }; };