📜  如何在 Next.js 中添加 Youtube 视频?(1)

📅  最后修改于: 2023-12-03 14:52:27.347000             🧑  作者: Mango

如何在 Next.js 中添加 Youtube 视频?

在 Next.js 中,我们可以使用第三方库或者自定义组件来添加 Youtube 视频。以下是两种常用的方法:

方法一:使用第三方库

我们可以使用 react-youtube 这个第三方库来在 Next.js 中添加 Youtube 视频。

首先,我们需要安装 react-youtube

npm install react-youtube

然后,在我们想要显示 Youtube 视频的组件中,我们可以这样使用 react-youtube

import YouTube from 'react-youtube';

function YoutubeVideo({ videoId }) {
  // 设置 Youtube 嵌入视频的参数
  const opts = {
    height: '360',
    width: '640',
  };

  return (
    <YouTube videoId={videoId} opts={opts} />
  );
}

export default YoutubeVideo;

以上代码中,我们创建了一个名为 YoutubeVideo 的组件,它接受一个 videoId 属性,用于指定要显示的 Youtube 视频的 ID。然后,我们设置了 heightwidth 参数来控制视频的宽高。

在要显示该组件的地方,我们可以这样调用它:

import React from 'react';
import YoutubeVideo from './YoutubeVideo';

function MyPage() {
  return (
    <div>
      {/* 这里的 videoId 可以是任意 Youtube 视频的 ID */}
      <YoutubeVideo videoId="YOUR_VIDEO_ID" />
    </div>
  );
}

export default MyPage;

这样就可以在 Next.js 中添加并显示 Youtube 视频了。

方法二:自定义组件

如果你想更自定义化地控制 Youtube 视频的显示,你也可以自己创建一个组件来嵌入 Youtube 视频。

以下是一个示例代码:

import React from 'react';

function YoutubeVideo({ videoId }) {
  const youtubeUrl = `https://www.youtube.com/embed/${videoId}`;

  return (
    <div>
      <iframe
        title="Youtube video player"
        width="640"
        height="360"
        src={youtubeUrl}
        frameBorder="0"
        allowFullScreen
      ></iframe>
    </div>
  );
}

export default YoutubeVideo;

以上代码中,我们创建了一个名为 YoutubeVideo 的组件,它同样接受一个 videoId 属性来指定要显示的 Youtube 视频的 ID。然后,我们根据 videoId 构建了嵌入视频的 URL。最后,我们使用 iframe 元素来嵌入视频。

在要显示该组件的地方,我们可以这样调用它:

import React from 'react';
import YoutubeVideo from './YoutubeVideo';

function MyPage() {
  return (
    <div>
      {/* 这里的 videoId 可以是任意 Youtube 视频的 ID */}
      <YoutubeVideo videoId="YOUR_VIDEO_ID" />
    </div>
  );
}

export default MyPage;

这样就可以在 Next.js 中自定义地添加并显示 Youtube 视频了。

希望这些方法对你有帮助!Happy coding!