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 のスコープを停止すると、コンポーネントに関連する副作用もまとめて破棄されます。