'Trying to use react-player throws a Hydration error

Hi how are you? I'm trying to use react-player in my Next.js app without any luck.

This code

import ReactPlayer from "react-player";

const Home = () => {
return (
  <div>
    <p>Here is my video!!</p>
    <div className={s.wrapper}>
      <ReactPlayer src='https://www.youtube.com/watch?v=zohpogt56Bg' width="100%" 
       height="100%" className={s.player} />
    </div>
  </div>
)}

keeps throwing this error: Error: Hydration failed because the initial UI does not match what was rendered on the server.

Does anybody knows what is going on? thanks!



Solution 1:[1]

You can change your import to utilize Next's dynamic import. If you are only using static site generation then this option should work for you. It does seem like a bandaid fix however, because I don't think it solves the root problem.

import dynamic from 'next/dynamic'
const ReactPlayer = dynamic(() => import("react-player"), { ssr: false });

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 c-concat-p