駅名標が正常に動作していなかったバグを修正

This commit is contained in:
harukin-OneMix4 2023-12-25 04:34:32 +09:00
parent 36b199ef98
commit 761543af90
4 changed files with 21 additions and 20 deletions

17
App.js
View File

@ -42,8 +42,8 @@ if (Platform.OS === "android") {
export default function App() { export default function App() {
useEffect(() => UpdateAsync(), []); useEffect(() => UpdateAsync(), []);
return ( return (
<SheetProvider> <FavoriteStationProvider>
<FavoriteStationProvider> <SheetProvider>
<CurrentTrainProvider> <CurrentTrainProvider>
<AreaInfoProvider> <AreaInfoProvider>
<AllTrainDiagramProvider> <AllTrainDiagramProvider>
@ -53,20 +53,11 @@ export default function App() {
</AllTrainDiagramProvider> </AllTrainDiagramProvider>
</AreaInfoProvider> </AreaInfoProvider>
</CurrentTrainProvider> </CurrentTrainProvider>
</FavoriteStationProvider> </SheetProvider>
</SheetProvider> </FavoriteStationProvider>
); );
} }
export function AppContainer() { export function AppContainer() {
const { setFavoriteStation } = useFavoriteStation();
useEffect(() => {
AS.getItem("favoriteStation")
.then((d) => {
const returnData = JSON.parse(d);
setFavoriteStation(returnData);
})
.catch((d) => console.log(d));
}, []);
const { setBusAndTrainData } = useBusAndTrainData(); const { setBusAndTrainData } = useBusAndTrainData();
useEffect(() => { useEffect(() => {
AS.getItem("busAndTrain") AS.getItem("busAndTrain")

View File

@ -14,7 +14,6 @@ export default function Sign(props) {
const [preStation, setPreStation] = useState(); const [preStation, setPreStation] = useState();
const [nexStation, setNexStation] = useState(); const [nexStation, setNexStation] = useState();
const [testButtonStatus, setTestButtonStatus] = useState(false); const [testButtonStatus, setTestButtonStatus] = useState(false);
useEffect(() => { useEffect(() => {
const isFavorite = favoriteStation.filter((d) => { const isFavorite = favoriteStation.filter((d) => {
const compare = JSON.stringify(d); const compare = JSON.stringify(d);

View File

@ -121,9 +121,12 @@ export default function Menu(props) {
.then(() => setGetTime(new Date())) .then(() => setGetTime(new Date()))
.finally(() => setLoadingDelayData(false)); .finally(() => setLoadingDelayData(false));
}, [loadingDelayData]); }, [loadingDelayData]);
const allStationData = [currentStation, ...favoriteStation].filter( const [allStationData, setAllStationData] = useState([]);
(d) => d != undefined useEffect(() => {
); setAllStationData(
[currentStation, ...favoriteStation].filter((d) => d != undefined)
);
}, [currentStation, favoriteStation]);
useEffect(() => { useEffect(() => {
if (allStationData.length == 0) { if (allStationData.length == 0) {
setSelectedCurrentStation(0); setSelectedCurrentStation(0);

View File

@ -1,4 +1,5 @@
import React, { createContext, useContext, useState } from "react"; import React, { createContext, useContext, useState, useEffect } from "react";
import { AS } from "../storageControl";
const initialState = { const initialState = {
favoriteStation: [], favoriteStation: [],
setFavoriteStation: () => {}, setFavoriteStation: () => {},
@ -11,8 +12,15 @@ export const useFavoriteStation = () => {
}; };
export const FavoriteStationProvider = ({ children }) => { export const FavoriteStationProvider = ({ children }) => {
const [favoriteStation, setFavoriteStation] = useState({}); const [favoriteStation, setFavoriteStation] = useState([]);
useEffect(() => {
AS.getItem("favoriteStation")
.then((d) => {
const returnData = JSON.parse(d);
setFavoriteStation(returnData);
})
.catch((d) => console.log(d));
}, []);
return ( return (
<FavoriteStationContext.Provider <FavoriteStationContext.Provider
value={{ favoriteStation, setFavoriteStation }} value={{ favoriteStation, setFavoriteStation }}