import React, { FC, useEffect } from "react"; import { View, Text, ScrollView } from "react-native"; import Icon from "react-native-vector-icons/Entypo"; import { useFavoriteStation } from "../stateBox/useFavoriteStation"; import { useCurrentTrain } from "../stateBox/useCurrentTrain"; import { useNavigation } from "@react-navigation/native"; import { useTrainMenu } from "../stateBox/useTrainMenu"; import { FavoriteListItem } from "./atom/FavoriteListItem"; import { BigButton } from "./atom/BigButton"; import { useStationList } from "@/stateBox/useStationList"; export const FavoriteList: FC = () => { const { favoriteStation } = useFavoriteStation(); const { webview } = useCurrentTrain(); const { navigate, addListener, goBack, canGoBack } = useNavigation(); const { mapsStationData: stationData } = useTrainMenu(); const { getInjectJavascriptAddress } = useStationList(); useEffect(() => { const unsubscribe = addListener("tabPress", goToTrainMenu); return unsubscribe; }, [{ navigate, addListener }]); const goToTrainMenu = (e) => { e.preventDefault(); goBack(); }; return ( 位置情報クイック移動メニュー {favoriteStation .map((currentStation) => { return ( { const scriptString = getInjectJavascriptAddress( currentStation[0].StationNumber ); if (!scriptString) return; webview.current?.injectJavaScript(scriptString); goBack(); if (canGoBack()) goBack(); }} key={currentStation[0].StationNumber + "FavoriteList"} > 移動する ); })} お気に入り登録した駅のうち、位置情報システムで移動可能な駅が表示されています。タップすることで位置情報システムの当該の駅に移動します。 goBack()} string="閉じる" /> ); };