Iframes and React.js - How to embed a youtube video into my app

42,867

Solution 1

You can just use an iframe element to achieve this. There is no need to depend on yet another npm package.

<iframe src='https://www.youtube.com/embed/E7wJTI-1dvQ'
        frameborder='0'
        allow='autoplay; encrypted-media'
        allowfullscreen
        title='video'
/>

By the way, if you are wondering why the embed URL looks like it looks, you can just go to an arbitrary Youtube video, click on Share and then you immediately see that we just need to append /embed/:videoId Youtube's base URL.

Solution 2

You can use react component react-youtube

Share:
42,867

Related videos on Youtube

LeCoda
Author by

LeCoda

I am a n00b coder

Updated on July 09, 2022

Comments

  • LeCoda
    LeCoda almost 2 years

    I'm trying to understand how to include a youtube embed into my app.

    import React from "react"
    import Pageheader from 'react-bootstrap/lib/Pageheader';
    import ResponsiveEmbed from 'react-bootstrap/lib/ResponsiveEmbed';
    import Grid from 'react-bootstrap/lib/Grid';
    
    export default class Services extends React.Component {
      render() {
        return (
            <div id = "services">
                <Pageheader justified>
                    About us
                    <small>M2 Consulting is Bringing Small Businesses to the Agile century</small>
                    <ResponsiveEmbed a16by9>
                        <embed src="https://youtu.be/uC9VtVnuPD0"/>
                    </ResponsiveEmbed>
                </Pageheader>
            </div>
        )
      }
    }
    

    This is what I have at the moment.

    I've tried a few different methods of getting to properly display but have found using, for example, the embed code from youtube to create multiple errors. I'm trying to replicate this website and how it displays its embedded video.

    https://moodmap.app/

  • LeCoda
    LeCoda almost 7 years
    Brilliant. Now how would I integrate it with this code?
  • Kazim Zaidi
    Kazim Zaidi over 4 years
    github.com/CookPete/react-player works with many different providers and provides responsive styling.
  • Ben Butterworth
    Ben Butterworth almost 4 years
    So the only difference between the HTML YouTube gives you when you press 'share', is the capitalisation of allowFullScreen and frameBorder. Fix that, and you're done.
  • Jovylle
    Jovylle about 3 years
    Hello there, youtuber.
  • Patrick Michaelsen
    Patrick Michaelsen almost 3 years
    one change I needed: export const YoutubeEmbed = (embedId) => embedId && ( <iframe ... />);
  • Patrick Michaelsen
    Patrick Michaelsen almost 3 years
    jk that didn't fix my problem. for some reason it only works when I hard code the embedId. It's trying to fetch embed/[Object object]
  • Patrick Michaelsen
    Patrick Michaelsen almost 3 years
    For completenes sake, turns out it's a problem with my code that generates the embedId. I wish you could edit comments so I didn't have to triple post, but alas.