import React, { useEffect, useState } from "react"; import Icon from "react-native-vector-icons/Entypo"; import { View, Text, TouchableOpacity, LayoutAnimation } from "react-native"; import lineColorList from "../../../assets/originData/lineColorList"; import { AS } from "../../../storageControl"; export const FavoriteSettingsItem = ({ currentStation, setFavoriteStation, index, array, }) => { const lineIDs = []; const EachIDs = []; console.log(currentStation); currentStation.forEach((d) => { if (!d.StationNumber) return; const textArray = d.StationNumber.split(""); lineIDs.push(textArray.filter((s) => "A" < s && s < "Z").join("")); EachIDs.push(textArray.filter((s) => "0" <= s && s <= "9").join("")); }); const [head, setHead] = useState(false); const [tail, setTail] = useState(false); useEffect(() => { switch (true) { case array.length == 1: setHead(true); setTail(true); break; case index == 0: setHead(true); setTail(false); break; case index == array.length - 1: setHead(false); setTail(true); break; default: setHead(false); setTail(false); } }, [array]); return ( {lineIDs.map((lineID, index) => ( {lineIDs[index]} {"\n"} {EachIDs[index]} ))} {currentStation[0].Station_JP} { console.log("up"); LayoutAnimation.configureNext( LayoutAnimation.Presets.easeInEaseOut ); const removedStation = [...array].filter((d, i) => { if (i == index) return false; return true; }); removedStation.splice(index - 1, 0, currentStation); setFavoriteStation(removedStation); AS.setItem("favoriteStation", JSON.stringify(removedStation)); }} > {head ? null : } { console.log("down"); LayoutAnimation.configureNext( LayoutAnimation.Presets.easeInEaseOut ); const removedStation = [...array].filter((d, i) => { if (i == index) return false; return true; }); removedStation.splice(index + 1, 0, currentStation); setFavoriteStation(removedStation); AS.setItem("favoriteStation", JSON.stringify(removedStation)); }} > {tail ? null : } ); };