renderToStaticMarkup
renderToStaticMarkup
์ํธ์์ฉํ์ง ์๋ React ํธ๋ฆฌ๋ฅผ HTML ๋ฌธ์์ด๋ก ๋ ๋๋งํฉ๋๋ค.
const html = renderToStaticMarkup(reactNode)
์ฐธ์กฐ
renderToStaticMarkup(reactNode)
์๋ฒ์์ renderToStaticMarkup
์ ํธ์ถํ์ฌ ์ฑ์ HTML๋ก ๋ ๋๋งํฉ๋๋ค.
import { renderToStaticMarkup } from 'react-dom/server';
const html = renderToStaticMarkup(<Page />);
์ํธ์์ฉํ์ง ์๋ React ์ปดํฌ๋ํธ์ HTML ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค.
์๋ ์์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ๋ผ๋ฏธํฐ
reactNode
: HTML๋ก ๋ ๋๋งํ React ๋ ธ๋์ ๋๋ค. ์๋ฅผ ๋ค์ด,<Page />
์ ๊ฐ์ JSX ๋ ธ๋์ ๋๋ค.
๋ฐํ
HTML ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค.
์ฃผ์ ์ฌํญ
-
renderToStaticMarkup
์ ์ถ๋ ฅ๊ฐ์ hydrate ๋ ์ ์์ต๋๋ค. -
renderToStaticMarkup
์ Suspense๋ฅผ ์ ํ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ๋ง์ฝ suspense ์ปดํฌ๋ํธ๋ผ๋ฉด,renderToStaticMarkup
์ ์ฆ์ HTML์ fallback์ผ๋ก ๋ณด๋ ๋๋ค. -
renderToStaticMarkup
์ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ์ง๋ง, ํด๋ผ์ด์ธํธ ์ฝ๋์์ ์ฌ์ฉ๋๋ ๊ฑด ๊ถ์ฅํ์ง ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ์ปดํฌ๋ํธ๋ฅผ HTML๋ก ๋ ๋๋งํด์ผ ํ๋ ๊ฒฝ์ฐ, HTML ์ DOM ๋ ธ๋๋ก ๋ ๋๋งํด์ ๊ฐ์ ธ์ค์ธ์.
์ฌ์ฉ๋ฒ
์ํธ์์ฉํ์ง ์๋ React ํธ๋ฆฌ๋ฅผ HTML ๋ฌธ์์ด๋ก ๋ ๋๋งํ๊ธฐ
renderToStaticMarkup
์ ์๋ฒ ์๋ต๊ณผ ํจ๊ป ๋ณด๋ผ ์ ์๋ HTML ๋ฌธ์์ด๋ก ์ฑ์ ๋ ๋๋งํ๊ธฐ ์ํด ํธ์ถํ์ธ์:
import { renderToStaticMarkup } from 'react-dom/server';
// The route handler syntax depends on your backend framework
app.use('/', (request, response) => {
const html = renderToStaticMarkup(<Page />);
response.send(html);
});
์ด๊ฒ์ React ์ปดํฌ๋ํธ์ ์ํธ์์ฉํ์ง ์๋ ์ด๊ธฐ HTML ๊ฒฐ๊ณผ๊ฐ ์์ฑ๋ฉ๋๋ค.