unmountComponentAtNode
unmountComponentAtNode
๋ DOM์ ๋ง์ดํธ๋ React ์ปดํฌ๋ํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
unmountComponentAtNode(domNode)
๋ ํผ๋ฐ์ค
unmountComponentAtNode(domNode)
unmountComponentAtNode
๋ฅผ ํธ์ถํด์ DOM์ ๋ง์ดํธ๋ React ์ปดํฌ๋ํธ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ด๋ จ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ state๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
import { unmountComponentAtNode } from 'react-dom';
const domNode = document.getElementById('root');
render(<App />, domNode);
unmountComponentAtNode(domNode);
์๋์์ ๋ ๋ง์ ์์๋ฅผ ํ์ธํ์ธ์.
๋งค๊ฐ๋ณ์
domNode
: DOM ์๋ฆฌ๋จผํธ์ ๋๋ค. React๋ ์ด ์๋ฆฌ๋จผํธ์ ๋ง์ดํธ๋ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
๋ฐํ๊ฐ
unmountComponentAtNode
๋ ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ ํด์ ๋๋ฉด true
๋ฅผ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false
๋ฅผ ๋ฐํํฉ๋๋ค.
์ฌ์ฉ๋ฒ
unmountComponentAtNode
๋ฅผ ํธ์ถํด์ ๋ธ๋ผ์ฐ์ DOM ๋
ธ๋์์ ๋ง์ดํธ๋ React ์ปดํฌ๋ํธ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ด๋ จ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ state๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
import { render, unmountComponentAtNode } from 'react-dom';
import App from './App.js';
const rootNode = document.getElementById('root');
render(<App />, rootNode);
// ...
unmountComponentAtNode(rootNode);
DOM ์๋ฆฌ๋จผํธ์์ React ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฑฐํ๊ธฐ
๋๋๋ก ๊ธฐ์กด ํ์ด์ง๋ ์ผ๋ถ๋ง React๋ก ์์ฑ๋ ํ์ด์ง์์ React๋ฅผ โํฌํจโํ๊ณ ์ถ์ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ ๋๋ง ๋ DOM ๋ ธ๋์์ UI์ state ๋ฐ ๋ฆฌ์ค๋๋ฅผ ๋ชจ๋ ์ ๊ฑฐํด์ React ์ ํ๋ฆฌ์ผ์ด์ ์ โ์ค์งโํด์ผ ํ ์ ์์ต๋๋ค.
์๋ ์์์์๋ โRender React Appโ์ ํด๋ฆญํ๋ฉด React ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋๋งํฉ๋๋ค. โUnmount React Appโ์ ํด๋ฆญํ๋ฉด React ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ฑฐํฉ๋๋ค.
import './styles.css'; import { render, unmountComponentAtNode } from 'react-dom'; import App from './App.js'; const domNode = document.getElementById('root'); document.getElementById('render').addEventListener('click', () => { render(<App />, domNode); }); document.getElementById('unmount').addEventListener('click', () => { unmountComponentAtNode(domNode); });