diff --git a/components/ActionSheetComponents/EachTrainInfo/TrainDataView.js b/components/ActionSheetComponents/EachTrainInfo/TrainDataView.js index 0aa5dcd..dbdb86a 100644 --- a/components/ActionSheetComponents/EachTrainInfo/TrainDataView.js +++ b/components/ActionSheetComponents/EachTrainInfo/TrainDataView.js @@ -22,16 +22,8 @@ export const TrainDataView = ({ navigate, }) => { - const { originalStationList } = useStationList(); - - const stationList = - originalStationList && - lineList.map((d) => - originalStationList[d].map((a) => ({ - StationNumber: a.StationNumber, - StationName: a.Station_JP, - })) - ); + const { stationList } = useStationList(); + const { width, height } = useWindowDimensions(); const { isLandscape } = useDeviceOrientationChange(); const { inject } = useCurrentTrain(); diff --git a/components/ActionSheetComponents/EachTrainInfoCore.js b/components/ActionSheetComponents/EachTrainInfoCore.js index baae4cf..4865963 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore.js +++ b/components/ActionSheetComponents/EachTrainInfoCore.js @@ -12,7 +12,7 @@ import { import { SheetManager } from "react-native-actions-sheet"; import { AS } from "../../storageControl"; import trainList from "../../assets/originData/trainList"; -import { lineList, lineListPair } from "../../lib/getStationList"; +import { lineListPair } from "../../lib/getStationList"; import { useCurrentTrain } from "../../stateBox/useCurrentTrain"; import { checkDuplicateTrainData } from "../../lib/checkDuplicateTrainData"; import { getTrainType } from "../../lib/getTrainType"; @@ -46,7 +46,7 @@ export const EachTrainInfoCore = ({ }) => { // const [actionSheetHorizonalScroll, setActionSheetHorizonalScroll] = useState(false); const { currentTrain } = useCurrentTrain(); - const { originalStationList } = useStationList(); + const { originalStationList,stationList } = useStationList(); const { setTrainInfo } = useTrainMenu(); const [currentTrainData, setCurrentTrainData] = useState(); @@ -86,15 +86,6 @@ export const EachTrainInfoCore = ({ const [showThrew, setShowThrew] = useState(false); const [haveThrough, setHaveThrough] = useState(false); - const stationList = - originalStationList && - lineList.map((d) => - originalStationList[d].map((a) => ({ - StationNumber: a.StationNumber, - StationName: a.Station_JP, - })) - ); - // 使用例 const stopStationIDList = trainDataWidhThrough.map((i) => { const [station, se, time] = i.split(","); diff --git a/components/発車時刻表/LED_inside_Component/TrainPosition.tsx b/components/発車時刻表/LED_inside_Component/TrainPosition.tsx index a3ecdbc..e53e8ef 100644 --- a/components/発車時刻表/LED_inside_Component/TrainPosition.tsx +++ b/components/発車時刻表/LED_inside_Component/TrainPosition.tsx @@ -46,15 +46,8 @@ export const TrainPosition: FC = ({ platformNumber, }) => { const { currentTrain } = useCurrentTrain(); - const { originalStationList } = useStationList(); - const stationList = - originalStationList && - lineList.map((d) => - originalStationList[d].map((a) => ({ - StationNumber: a.StationNumber, - StationName: a.Station_JP, - })) - ); + const { stationList } = useStationList(); + useEffect(() => { fetch( `https://n8n.haruk.in/webhook/JR-shikoku-PosID?PosNum=${currentTrainData?.PosNum}&Line=${currentTrainData?.Line}` diff --git a/stateBox/useStationList.tsx b/stateBox/useStationList.tsx index d947796..c064c12 100644 --- a/stateBox/useStationList.tsx +++ b/stateBox/useStationList.tsx @@ -6,16 +6,19 @@ import React, { FC, } from "react"; import { getStationList } from "../lib/getStationList"; +import { lineList } from "../lib/getStationList"; type initialStateType = { - originalStationList: any[]; + originalStationList: any[][]; setOriginalStationList: React.Dispatch>; getStationData: (id: string) => void; + stationList: any[]; }; const initialState = { - originalStationList: [], + originalStationList: [[]], setOriginalStationList: () => {}, getStationData: () => {}, + stationList: [], }; const StationListContext = createContext(initialState); @@ -42,10 +45,23 @@ export const StationListProvider: FC = ({ children }) => { }); return returnArray; }; - + const [stationList, setStationList] = useState([[]]); + useEffect(()=>{ + if(originalStationList.length === 0) return; + const stationList = + originalStationList && + lineList.map((d) => + originalStationList[d].map((a) => ({ + StationNumber: a.StationNumber, + StationName: a.Station_JP, + })) + ); + setStationList(stationList) + },[originalStationList]) + return ( {children}