import React, { useMemo, useState } from "react"; import styles from "./index.module.scss"; import classNames from "classnames"; import { baseUrl } from "@/index"; import { useSelector } from "react-redux"; import { RootState } from "@/store"; import history from "@/utils/history"; function A1Home() { const { dianOut, dianIn } = useSelector( (state: RootState) => state.A0Layout.dataAll.home ); const [mapShow, setMapShow] = useState(false); const hoverData = useMemo(() => { const arr = dianOut.map((v) => ({ name: v.name, id: v.id, ...v.hover })); return arr; }, [dianOut]); // 鼠标移入的变量 const [hoverAc, setHoverAc] = useState(0); return (
{/* 图标定位 */} {dianOut.map((v) => (
{/* 名字 */}
{v.name}
{/* 标点 */}
))} {/* hover出来的定位 */} {hoverData.map((v) => (
setHoverAc(v.id)} onMouseLeave={() => setHoverAc(0)} onClick={() => history.push(`/village?id=${v.id}`)} key={v.id} style={{ backgroundImage: `url(${baseUrl}/A1Home/pc/hover${v.id}.png)`, width: v.width, height: v.height, top: v.top, left: v.left, }} >
{v.name}
))} {/* 左下角的开发保护 */}
setMapShow(true)}> 开发保护
{/* 开发保护 */}
{/* 主要内容 */} {dianIn.map((v) => (

{v.name}

{/* 信息盒子 */} {v.txtLoc ? (

历史事件

{v.txt}

) : null}
))} {/* 返回按钮 */}
setMapShow(false)}>
); } const MemoA1Home = React.memo(A1Home); export default MemoA1Home;