From c0804d2ac7ea1fdb65084aa4a8171aaf3b97ba39 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sat, 2 Aug 2025 15:33:35 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=BB=8A=E3=83=87=E3=83=BC=E3=82=BF?= =?UTF-8?q?=E5=8F=96=E5=BE=97=E6=A9=9F=E8=83=BD=E3=82=9230=E7=A7=92?= =?UTF-8?q?=E6=AF=8E=E3=81=AB=E5=8B=95=E3=81=8F=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stateBox/useAllTrainDiagram.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/stateBox/useAllTrainDiagram.js b/stateBox/useAllTrainDiagram.js index 2ed4173..7806f8a 100644 --- a/stateBox/useAllTrainDiagram.js +++ b/stateBox/useAllTrainDiagram.js @@ -1,4 +1,5 @@ import trainList from "@/assets/originData/trainList"; +import useInterval from "@/lib/useInterval"; import { AS } from "@/storageControl"; import React, { createContext, useContext, useEffect, useState } from "react"; const initialState = { @@ -19,8 +20,7 @@ export const AllTrainDiagramProvider = ({ children }) => { () => allTrainDiagram && setKeyList(Object.keys(allTrainDiagram)), [allTrainDiagram] ); - useEffect(() => { - fetch("https://n8n.haruk.in/webhook/JR-shikoku-diagram-migrate-original") + const getTrainDiagram = () => fetch("https://n8n.haruk.in/webhook/JR-shikoku-diagram-migrate-original") .then((res) => res.json()) .then((res) => res.data) .then((res) => { @@ -42,9 +42,12 @@ export const AllTrainDiagramProvider = ({ children }) => { alert("初回の路線情報の取得に失敗しました。"); }); }); - }, []); - useEffect(() => { - // カスタム列車データの取得 + + useEffect(getTrainDiagram, []); + useInterval(getTrainDiagram, 30000); //30秒毎に全在線列車取得 + + + const getCustomTrainData = ()=>{ fetch("https://n8n.haruk.in/webhook/jr-shikoku-position-custom-datalist") .then((res) => res.json()) .then((res) => { @@ -53,7 +56,14 @@ export const AllTrainDiagramProvider = ({ children }) => { .catch(() => { alert("カスタム列車データの取得に失敗しました。"); }); + } + + + useEffect(() => { + // カスタム列車データの取得 + getCustomTrainData(); }, []); + useInterval(getCustomTrainData, 30000); // 30秒毎にカスタム列車データ取得 return (