From 761543af906b4fea4ff38adc25148472b63efebf Mon Sep 17 00:00:00 2001 From: harukin-OneMix4 Date: Mon, 25 Dec 2023 04:34:32 +0900 Subject: [PATCH] =?UTF-8?q?=E9=A7=85=E5=90=8D=E6=A8=99=E3=81=8C=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E3=81=AB=E5=8B=95=E4=BD=9C=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E3=83=90=E3=82=B0=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 17 ++++------------- components/駅名表/Sign.js | 1 - menu.js | 9 ++++++--- stateBox/useFavoriteStation.js | 14 +++++++++++--- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/App.js b/App.js index 9c3f952..d728d30 100644 --- a/App.js +++ b/App.js @@ -42,8 +42,8 @@ if (Platform.OS === "android") { export default function App() { useEffect(() => UpdateAsync(), []); return ( - - + + @@ -53,20 +53,11 @@ export default function App() { - - + + ); } 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(); useEffect(() => { AS.getItem("busAndTrain") diff --git a/components/駅名表/Sign.js b/components/駅名表/Sign.js index c3381a2..7f07697 100644 --- a/components/駅名表/Sign.js +++ b/components/駅名表/Sign.js @@ -14,7 +14,6 @@ export default function Sign(props) { const [preStation, setPreStation] = useState(); const [nexStation, setNexStation] = useState(); const [testButtonStatus, setTestButtonStatus] = useState(false); - useEffect(() => { const isFavorite = favoriteStation.filter((d) => { const compare = JSON.stringify(d); diff --git a/menu.js b/menu.js index b45ab74..9144a40 100644 --- a/menu.js +++ b/menu.js @@ -121,9 +121,12 @@ export default function Menu(props) { .then(() => setGetTime(new Date())) .finally(() => setLoadingDelayData(false)); }, [loadingDelayData]); - const allStationData = [currentStation, ...favoriteStation].filter( - (d) => d != undefined - ); + const [allStationData, setAllStationData] = useState([]); + useEffect(() => { + setAllStationData( + [currentStation, ...favoriteStation].filter((d) => d != undefined) + ); + }, [currentStation, favoriteStation]); useEffect(() => { if (allStationData.length == 0) { setSelectedCurrentStation(0); diff --git a/stateBox/useFavoriteStation.js b/stateBox/useFavoriteStation.js index ee6dc11..24aa0ac 100644 --- a/stateBox/useFavoriteStation.js +++ b/stateBox/useFavoriteStation.js @@ -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 = { favoriteStation: [], setFavoriteStation: () => {}, @@ -11,8 +12,15 @@ export const useFavoriteStation = () => { }; 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 (