Files
jrshikoku/components/Apps/FixedPositionBox/hooks/useStopStationList.ts
harukin-expo-dev-env 2ed8c17797 第三弾
2025-12-05 07:59:50 +00:00

29 lines
890 B
TypeScript

import { useState, useEffect } from "react";
import { useStationList } from "@/stateBox/useStationList";
/**
* 停車駅IDリストを生成するカスタムフック
*/
export const useStopStationList = (trainDataWithThrough: string[]) => {
const { stationList } = useStationList();
const [stopStationIDList, setStopStationList] = useState<string[][]>([]);
useEffect(() => {
const x = trainDataWithThrough.map((i) => {
const [station] = i.split(",");
const Stations = stationList.map((a) =>
a.filter((d) => d.StationName == station)
);
const StationNumbers =
Stations &&
Stations.reduce((newArray, e) => {
return newArray.concat(e);
}, []).map((d) => d.StationNumber);
return StationNumbers;
});
setStopStationList(x);
}, [trainDataWithThrough, stationList]);
return stopStationIDList;
};