import React, { createContext, useContext, useState, useEffect } from "react"; import useInterval from "../lib/useInterval"; const initialState = { areaInfo: "", setAreainfo: () => {}, }; const AreaInfoContext = createContext(initialState); export const useAreaInfo = () => { return useContext(AreaInfoContext); }; export const AreaInfoProvider = ({ children }) => { const [areaInfo, setAreaInfo] = useState(""); const getAreaData = () => fetch( "https://script.google.com/macros/s/AKfycbz80LcaEUrhnlEsLkJy0LG2IRO3DBVQhfNmN1d_0f_HvtsujNQpxM90SrV9yKWH_JG1Ww/exec" ) .then((d) => d.text()) .then((d) => setAreaInfo(d)); useEffect(getAreaData, []); useInterval(getAreaData, 60000); //60秒毎に全在線列車取得 return ( {children} ); };