unmountComponentAtNode
unmountComponentAtNode
は、マウントされた React コンポーネントを DOM から削除します。
unmountComponentAtNode(domNode)
リファレンス
unmountComponentAtNode(domNode)
unmountComponentAtNode
を呼び出して、マウントされた React コンポーネントを DOM から削除し、そのイベントハンドラと state をクリーンアップします。
import { unmountComponentAtNode } from 'react-dom';
const domNode = document.getElementById('root');
render(<App />, domNode);
unmountComponentAtNode(domNode);
引数
domNode
: DOM 要素。React はこの要素からマウント済みの React コンポーネントを削除します。
返り値
unmountComponentAtNode
は、コンポーネントがアンマウントされた場合は true
を、そうでない場合は false
を返します。
使用法
unmountComponentAtNode
を呼び出して、マウントされた React コンポーネントを ブラウザの DOM ノードから削除し、そのイベントハンドラと 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” をクリックするとそれが破棄されます。
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); });