首页 > 解决方案 > 根据语言变化改变useEffect中的视频源

问题描述

我正在尝试播放有关语言更改的不同视频。但是总是播放相同的视频,

useEffect(() => {
console.log("language changed: ", i18n.language);

vidSrc2.current.setAttribute(
  "src",
  require(`../assets/video/${i18n.language}/vid.mp4`)
);
window.addEventListener("langChange", () => {
  vidSrc2.current.setAttribute(
    "src",
    require(`../assets/video/${i18n.language}/vid.mp4`)
  );
 });
}, [i18n.language]);

<video
      ref={videoRef2}
      style={{
        objectFit: "cover",
        width: "100vw",
        height: window.screen.availHeight === 1080 ? "74vh" : "77vh"
      }}
      controls
      controlsList="nofullscreen nodownload"
      preload="true"
      disablePictureInPicture
    >
      <source
        ref={vidSrc2}
        type="video/mp4"
      />
    </video>

任何帮助,将不胜感激。

标签: javascripthtmlreactjsecmascript-6

解决方案


推荐阅读