Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
react-youtube
Advanced tools
The react-youtube npm package is a React component for embedding YouTube videos. It provides a simple way to integrate YouTube videos into your React applications with various customization options and event handling capabilities.
Embedding a YouTube Video
This feature allows you to embed a YouTube video in your React application. The `opts` object is used to customize the player, such as setting the height, width, and player variables like autoplay.
import React from 'react';
import YouTube from 'react-youtube';
const MyComponent = () => {
const opts = {
height: '390',
width: '640',
playerVars: {
autoplay: 1,
},
};
return <YouTube videoId="2g811Eo7K8U" opts={opts} />;
};
export default MyComponent;
Handling Events
This feature allows you to handle various events from the YouTube player. In this example, the `onReady` event is used to pause the video as soon as it is ready.
import React from 'react';
import YouTube from 'react-youtube';
const MyComponent = () => {
const onReady = (event) => {
event.target.pauseVideo();
};
return <YouTube videoId="2g811Eo7K8U" onReady={onReady} />;
};
export default MyComponent;
Customizing Player Options
This feature allows you to customize various player options such as autoplay, controls, and related videos. The `playerVars` object is used to set these options.
import React from 'react';
import YouTube from 'react-youtube';
const MyComponent = () => {
const opts = {
height: '390',
width: '640',
playerVars: {
autoplay: 1,
controls: 0,
rel: 0,
},
};
return <YouTube videoId="2g811Eo7K8U" opts={opts} />;
};
export default MyComponent;
react-player is a React component that can play various types of media, including YouTube videos, Vimeo videos, SoundCloud tracks, and more. It offers a broader range of media support compared to react-youtube, which is specifically for YouTube videos.
react-youtube-lite is a lightweight alternative to react-youtube. It focuses on providing a minimalistic and fast-loading YouTube player component for React applications. It is suitable for use cases where performance and simplicity are prioritized over extensive customization options.
Simple React component acting as a thin layer over the YouTube IFrame Player API
npm install react-youtube
yarn add react-youtube
pnpm add react-youtube
<YouTube
videoId={string} // defaults -> ''
id={string} // defaults -> ''
className={string} // defaults -> ''
iframeClassName={string} // defaults -> ''
style={object} // defaults -> {}
title={string} // defaults -> ''
loading={string} // defaults -> undefined
opts={obj} // defaults -> {}
onReady={func} // defaults -> noop
onPlay={func} // defaults -> noop
onPause={func} // defaults -> noop
onEnd={func} // defaults -> noop
onError={func} // defaults -> noop
onStateChange={func} // defaults -> noop
onPlaybackRateChange={func} // defaults -> noop
onPlaybackQualityChange={func} // defaults -> noop
/>
For convenience it is also possible to access the PlayerState constants through react-youtube:
YouTube.PlayerState
contains the values that are used by the YouTube IFrame Player API.
// js
import React from 'react';
import YouTube from 'react-youtube';
class Example extends React.Component {
render() {
const opts = {
height: '390',
width: '640',
playerVars: {
// https://developers.google.com/youtube/player_parameters
autoplay: 1,
},
};
return <YouTube videoId="2g811Eo7K8U" opts={opts} onReady={this._onReady} />;
}
_onReady(event) {
// access to player in all event handlers via event.target
event.target.pauseVideo();
}
}
// ts
import React from 'react';
import YouTube, { YouTubeProps } from 'react-youtube';
function Example() {
const onPlayerReady: YouTubeProps['onReady'] = (event) => {
// access to player in all event handlers via event.target
event.target.pauseVideo();
}
const opts: YouTubeProps['opts'] = {
height: '390',
width: '640',
playerVars: {
// https://developers.google.com/youtube/player_parameters
autoplay: 1,
},
};
return <YouTube videoId="2g811Eo7K8U" opts={opts} onReady={onPlayerReady} />;
}
You can access & control the player in a way similar to the official api:
The
APIcomponent will pass an event object as the sole argument to each ofthose functionsthe event handler props. The event object has the following properties:
- The event's
target
identifies the video player that corresponds to the event.- The event's
data
specifies a value relevant to the event. Note that theonReady
event does not specify adata
property.
MIT
FAQs
React.js powered YouTube player component
The npm package react-youtube receives a total of 326,126 weekly downloads. As such, react-youtube popularity was classified as popular.
We found that react-youtube demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.