mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
4466ba436b
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
15 lines
415 B
JavaScript
15 lines
415 B
JavaScript
import { useRef, useEffect, useState } from "react";
|
|
import { createPortal } from "react-dom";
|
|
|
|
export default function ClientOnlyPortal({ children, selector }) {
|
|
const ref = useRef();
|
|
const [mounted, setMounted] = useState(false);
|
|
|
|
useEffect(() => {
|
|
ref.current = document.querySelector(selector);
|
|
setMounted(true);
|
|
}, [selector]);
|
|
|
|
return mounted ? createPortal(children, ref.current) : null;
|
|
}
|