index.tsx 957 B

123456789101112131415161718192021222324252627282930313233
  1. import React from "react";
  2. import { CloseCircleOutlined } from "@ant-design/icons";
  3. import styles from "./index.module.scss";
  4. import { useDispatch, useSelector } from "react-redux";
  5. import { RootState } from "@/store";
  6. import { baseURL } from "@/utils/http";
  7. function VideoLookDom() {
  8. const videoSrc = useSelector((state: RootState) => state.loginStore.videoSrc);
  9. const dispatch = useDispatch();
  10. return (
  11. <div
  12. className={styles.VideoLookDom}
  13. style={videoSrc ? { opacity: 1, pointerEvents: "auto" } : {}}
  14. >
  15. <div className="viedoBox">
  16. {videoSrc ? (
  17. <video autoPlay controls src={baseURL + videoSrc}></video>
  18. ) : null}
  19. </div>
  20. <div
  21. className="close"
  22. onClick={() => dispatch({ type: "login/lookVideo", payload: "" })}
  23. >
  24. <CloseCircleOutlined />
  25. </div>
  26. </div>
  27. );
  28. }
  29. const MemoVideoLookDom = React.memo(VideoLookDom);
  30. export default MemoVideoLookDom;