@swissup/pwa-easy-slide
Version:
Easy slide(r) integration into venia-ui
49 lines (42 loc) • 1.15 kB
JavaScript
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
};
};