lodアドレス追加に伴うお気に入り機能のマイグレーション
This commit is contained in:
@@ -12,10 +12,12 @@ import { getStationList } from "../lib/getStationList";
|
||||
type initialStateType = {
|
||||
originalStationList: any[];
|
||||
setOriginalStationList: React.Dispatch<React.SetStateAction<any[]>>;
|
||||
getStationData: (id: string) => void;
|
||||
};
|
||||
const initialState = {
|
||||
originalStationList: [],
|
||||
setOriginalStationList: () => {},
|
||||
getStationData: () => {},
|
||||
};
|
||||
|
||||
const StationListContext = createContext<initialStateType>(initialState);
|
||||
@@ -31,10 +33,22 @@ export const StationListProvider: FC<Props> = ({ children }) => {
|
||||
useEffect(() => {
|
||||
getStationList().then(setOriginalStationList);
|
||||
}, []);
|
||||
const getStationData: (name: string) => void = (name) => {
|
||||
const returnArray = [];
|
||||
Object.keys(originalStationList).forEach((key) => {
|
||||
originalStationList[key].forEach((station) => {
|
||||
if (station.Station_JP === name) {
|
||||
if(!!station.jslodApi)returnArray.push(station);
|
||||
}
|
||||
});
|
||||
});
|
||||
return returnArray;
|
||||
|
||||
};
|
||||
|
||||
return (
|
||||
<StationListContext.Provider
|
||||
value={{ originalStationList, setOriginalStationList }}
|
||||
value={{ originalStationList, setOriginalStationList, getStationData }}
|
||||
>
|
||||
{children}
|
||||
</StationListContext.Provider>
|
||||
|
Reference in New Issue
Block a user