getCurrentScope() 現在アクティブなスコープを取得する

最終更新:2026-10-22

getCurrentScope() 現在アクティブなスコープを取得する

getCurrentScope() は現在の effectScope(なければ undefined)を返します。ユーティリティ関数内で副作用を呼び出し元のスコープに紐づけるのに役立ちます。

グループリアクティビティ: 応用
種類API
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

const scope = getCurrentScope()   // コンポーネントの setup 内なら通常はコンポーネントスコープ
if (scope) scope.stop()

戻り値:現在の EffectScope または undefined

▶ 例

以下のコードを編集して結果を確認しましょう:

出力:

Shows 'active scope present'.

💡 ポイント

ℹ️ 補足 ライブラリでは、呼び出し環境(setup / effectScope の内側か)を判定して副作用の帰属を決めるのに使われます。
💡 ヒント onScopeDispose と組み合わせて、スコープがあれば登録し、なければスキップするというクリーンアップが書けます。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q setup の外で呼ぶとどうなりますか?
A undefined が返ります。通常のイベントコールバック内など、どのスコープにも属していない状態です。
Q onScopeDispose との関係は?
A onScopeDispose は内部で現在のスコープに依存しており、getCurrentScope はそれを問い合わせる入り口です。
Q 現在のスコープを手動で停止できますか?
A 可能ですが推奨しません。setup のスコープを停止すると、コンポーネントに関連する副作用もまとめて破棄されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%