React YouTube Playlist
An easy-to-use and responsive React component for displaying YouTube playlists on a web app. Create a beautiful gallery of YouTube videos.
Live Demo and Tutorial
Available at: https://codesweetly.com/react-youtube-playlist
Installation
This section shows how to install the React YouTube Playlist package.
Using npm
npm install @codesweetly/react-youtube-playlist
Note
Did you get an 'npm ERR! ERESOLVE unable to resolve dependency tree'
error?
If yes, please add --legacy-peer-deps
to your installation command like so:
npm install @codesweetly/react-youtube-playlist --legacy-peer-deps
Using yarn
yarn add @codesweetly/react-youtube-playlist
Note
Did you get a Module not found: Error: Can't resolve '@emotion/react/jsx-runtime'
error?
If yes, please install @emotion/react@11.11.1
:
yarn add @emotion/react@11.11.1
Using pnpm
pnpm add @codesweetly/react-youtube-playlist
Usage
import YouTubePlaylist from "@codesweetly/react-youtube-playlist";
function App() {
return (
<YouTubePlaylist
apiKey="YOUR_YOUTUBE_API_KEY"
playlistId="YOUR_YOUTUBE_PLAYLIST_ID"
uniqueName="THIS_PLAYLIST_INSTANCE_NAME"
/>
);
}
Required Props
Props | Type | Default | Description |
---|
apiKey | string | undefined |
(Required) Your project's YouTube API key. (Learn how to get an API key)
|
playlistId | string | undefined |
(Required) The ID of the YouTube playlist you wish to display.
Note: A playlist's ID is the list of characters after the "list=" in the URL—for instance, https://www.youtube.com/playlist?list=playlistID .
|
uniqueName | string | undefined |
(Required) A unique name for the <YouTubePlaylist> instance.
Note:
|
Note for Remix Users
Remix users should add "@codesweetly/react-youtube-playlist"
to their remix.config.js
file:
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
+ serverDependenciesToBundle: ["@codesweetly/react-youtube-playlist"],
serverModuleFormat: "cjs",
};
The serverDependenciesToBundle
field tells Remix to transpile and include the "@codesweetly/react-youtube-playlist"
package in the server bundle.
Note for NextJS users
NextJS users should declare the "use client"
directive at the top of their file. It should sit above all other import
statements like so:
+ "use client";
import YouTubePlaylist from "@codesweetly/react-youtube-playlist";
import ImageGallery from "react-image-grid-gallery";
The "use client"
directive tells NextJS to consider all modules imported into the page as part of the Client Component module graph.
The YouTubePlaylist
package works only as a Client Component because it uses React's State and Lifecycle effects, such as useState()
and useEffect()
.
Build
npm run build
Dependencies
Demo
https://codesweetly.com/react-youtube-playlist