📅  最后修改于: 2023-12-03 14:52:27.347000             🧑  作者: Mango
在 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。然后,我们设置了 height
和 width
参数来控制视频的宽高。
在要显示该组件的地方,我们可以这样调用它:
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!