Skip to content

Instantly share code, notes, and snippets.

@tayloraleach
tayloraleach / ClientSideOnlyRenderer.jsx
Created November 23, 2019 16:19
React.js two-pass SSR rendering of 3rd party component (Next.js)
import React, { useState, useEffect } from "react";
const ClientSideOnlyRenderer = props => {
const { initialSsrDone = false, renderDone, renderLoading } = props;
const [ssrDone, setSsrDone] = useState(initialSsrDone);
useEffect(() => setSsrDone(true), []);
return ssrDone ? renderDone() : renderLoading();
};
export default React.memo(ClientSideOnlyRenderer);