unmountComponentAtNode

Deprecated

この API は、将来の React のメジャーバージョンで削除されます。

React 18 では、unmountComponentAtNoderoot.unmount() に置き換えられました。

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); });