/** store app for stock **/ import React, {createContext, useReducer, useEffect} from 'react'; import axios from 'axios'; const url_stock = '/.netlify/functions/getstock'; export const initialState = { stock: [], }; // create context for dispatch export const StoreContext = createContext(initialState); const reducer = (state, action) => { switch ((state, action.type)) { case 'setStock': return {...state, ...{stock: action.payload}}; default: return state; } }; const StoreProvider = ({children}) => { const [state, dispatch] = useReducer(reducer, initialState); // update state useEffect(() => { axios .get(url_stock) .then(function ({data}) { if (Array.isArray(data)) { dispatch({type: 'setStock', payload: data}); } }) .catch(function (error) { // handle error console.log(error); }); }, []); return ( <StoreContext.Provider value={state}>{children}</StoreContext.Provider> ); }; export default StoreProvider;