index.tsx 1.0 KB

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