Files
jrshikoku/stateBox/useBusAndTrainData.js
2024-01-25 22:36:11 +09:00

40 lines
1.0 KiB
JavaScript

import React, { createContext, useContext, useState } from "react";
const initialState = {
busAndTrainData: [],
setBusAndTrainData: () => {},
trainPairData: [],
setTrainPairData: () => {},
initializeTrainPairList: () => {},
};
const BusAndTrainDataContext = createContext(initialState);
export const useBusAndTrainData = () => {
return useContext(BusAndTrainDataContext);
};
export const BusAndTrainDataProvider = ({ children }) => {
const [busAndTrainData, setBusAndTrainData] = useState([]);
const [trainPairData, setTrainPairData] = useState([]);
const initializeTrainPairList = () => {
const trainPairList = {};
trainPairData.forEach((d) => {
trainPairList[Object.keys(d)[0]] = d[Object.keys(d)[0]];
});
return trainPairList;
};
return (
<BusAndTrainDataContext.Provider
value={{
busAndTrainData,
setBusAndTrainData,
trainPairData,
setTrainPairData,
initializeTrainPairList,
}}
>
{children}
</BusAndTrainDataContext.Provider>
);
};