Skip to content

Latest commit

 

History

History
126 lines (89 loc) · 3.1 KB

README.md

File metadata and controls

126 lines (89 loc) · 3.1 KB

React YouTube Playlist

A simple, easy-to-use, and responsive playlist component with a lightbox for displaying a beautiful gallery of YouTube videos in React apps.

npm NPM

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

Using yarn

yarn add @codesweetly/react-youtube-playlist

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"
    />
  );
}

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.

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

Demo

https://codesweetly.com/react-youtube-playlist

Support

🍵 Buy me a coffee