亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在反應中觸發滾動事件的函數

如何在反應中觸發滾動事件的函數

qq_遁去的一_1 2023-09-28 17:24:54
根據我查看的 React 文檔,我想我會使用“useRef”來更新函數,但我不確定。我想觸發一個事件來使視頻靜音,有一個滾動事件?,F在我正在使用 onClick 來播放/暫停視頻。視頻.jsimport React, { useRef, useState } from "react";import "./Video.css";function Video({ url }) {  const [muted, setMuted] = useState(true);  const [playing, setPlaying] = useState(false);  const videoRef = useRef(null);  var Chrome =    navigator.userAgent.includes("Chrome") &&    navigator.vendor.includes("Google Inc");  const onVideoPress = () => {    if (playing && !Chrome) {      videoRef.current.pause();      setPlaying(false);      setMuted(true);    } else if (playing && Chrome) {      videoRef.current.pause();      setPlaying(false);      setMuted(false);    } else {      videoRef.current.play();      setPlaying(true);      setMuted(false);    }  };  return (    <div className="video">      <video        className="video__player"        autoPlay={true}        loop={true}        muted={muted}        playsInline={true}        // controls        ref={videoRef}        onClick={onVideoPress}      >        <source className="video__controls" src={url} type="video/mp4"></source>      </video>      {/* <VideoFooter /> */}    </div>  );}export default Video;這與如何在反應組件中添加滾動事件不同,因為我沒有將函數擴展為組件。
查看完整描述

2 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

我用了 onScroll={()=> someFunc()}



查看完整回答
反對 回復 2023-09-28
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

使用滾動事件偵聽器您應該能夠實現您正在尋找的目標。


里面useEffect定義一個事件滾動監聽器


document.addEventListener('scroll', function(e) {


       // your logic goes here

      });


查看完整回答
反對 回復 2023-09-28
  • 2 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號