index.tsx 941 B

1234567891011121314151617181920212223242526272829303132
  1. import React, { useMemo, useState } from 'react'
  2. import styles from './index.module.scss'
  3. import { myData } from '@/utils/http'
  4. import Hot2 from '@/pages/A2visit/PanoVideo/Hot2'
  5. import HotIcon from '@/components/HotIcon'
  6. function PanoImg() {
  7. // 0为 第一种模式的热点 其他为第二种
  8. const [ind, setInd] = useState(-1)
  9. const data = useMemo(() => {
  10. if (ind !== -1) return myData.banquet.hot[ind].data
  11. else return []
  12. }, [ind])
  13. return (
  14. <div className={styles.PanoImg}>
  15. {/* 待完善 */}
  16. 全景图
  17. {myData.banquet.hot.map((item, index) => (
  18. // 热点图标
  19. <HotIcon key={index} index={index} clickSon={val => setInd(val)} hoverSrc={item.hoverSrc} />
  20. ))}
  21. {ind === -1 ? null : (
  22. <Hot2 data={data} closeFu={() => setInd(-1)} name={myData.banquet.hot[ind].name} />
  23. )}
  24. </div>
  25. )
  26. }
  27. const MemoPanoImg = React.memo(PanoImg)
  28. export default MemoPanoImg