0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

React : メモリーリーク対策が不要なケース

Last updated at Posted at 2024-09-18

古い情報なので何番煎じか分からないが失礼して記述する

前提

  • react においてブラウザコンソール上にメモリーリーク警告が表示されるケースがある
  • これらは component が消える際の開放漏れが原因らしい

メモリーリークしないパターン

以下の様な, useState を開放するパターンは本来メモリーリークしない.
あくまで, エラーメッセージ抑制のために用いられている手法とのこと.

useEffect(() => {
    setFlag(true)
    await saveData();  // 非同期処理中にコンポーネントが unmount されるかもしれない
    setFlag(false)
  }, []);

根拠: 開発者の明確な記述

こちらの中で, 当パターンでは実際にはメモリリークしないと明記されている.
また, react 18 へ上げる事で警告メッセージは表示されなくなるとのこと.

謝辞

開発中に教えていただいた皆様, ありがとうございます :pray:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?