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"; export const FavoriteList: FC = () => { const { favoriteStation } = useFavoriteStation(); const { webview } = useCurrentTrain(); const { navigate, addListener, goBack, canGoBack } = useNavigation(); const { mapsStationData: stationData } = useTrainMenu(); useEffect(() => { const unsubscribe = addListener("tabPress", goToTrainMenu); return unsubscribe; }, [{ navigate, addListener }]); const goToTrainMenu = (e) => { e.preventDefault(); goBack(); }; return ( 位置情報クイック移動メニュー {favoriteStation .filter((d) => d[0].StationMap) .map((currentStation) => { return ( { const getStationLine = (now) => { const returnData = Object.keys(stationData).filter((d) => { const cache = stationData[d].findIndex( (data) => data.Station_JP == now.Station_JP ); return cache != -1; }); return returnData[0]; }; const lineName = getStationLine(currentStation[0]); webview.current?.injectJavaScript( `MoveDisplayStation('${lineName}_${currentStation[0].MyStation}_${currentStation[0].Station_JP}'); document.getElementById("disp").insertAdjacentHTML("afterbegin", "
");` ); goBack(); if (canGoBack()) goBack(); }} > 移動する ); })} お気に入り登録した駅のうち、位置情報システムで移動可能な駅が表示されています。タップすることで位置情報システムの当該の駅に移動します。 goBack()} string="閉じる" /> ); };