import { useProvidedScope } from "effector-vue/composition";useProvidedScope появился в effector-vue 23.3.0
Возвращает Scope, в котором работает компонент, или null, если приложение работает в глобальном режиме. В основном нужен для ручных вызовов allSettled и scopeBind: остальные хуки находят скоуп сами.
Только для Vue 3 и Composition API.
Методы
useProvidedScope(options?)
Формула
useProvidedScope(options?: { forceScope?: boolean }): Scope | null;useProvidedScope(options: { forceScope: true }): Scope;Аргументы
options?{ forceScope?: boolean }: сforceScopeхук бросает ошибку вместо возвратаnull
Возвращает
Scope | null, а с forceScope: true всегда Scope.
Примеры
Загрузка данных на сервере
<script setup lang="ts">import { onServerPrefetch } from "vue";import { allSettled } from "effector";import { useProvidedScope, useUnit } from "effector-vue/composition";
import { loadUserFx, $user } from "./model";
const scope = useProvidedScope({ forceScope: true });const user = useUnit($user);
onServerPrefetch(() => allSettled(loadUserFx, { scope, params: 1 }));</script>
<template> <p>{{ user.name }}</p></template>Примечания
Скоуп ищется через контекст инъекции, поэтому вызывайте хук в setup до первого await или внутри app.runWithContext. Полный порядок поиска описан в EffectorScopePlugin.
Документация на английском языке - самая актуальная, поскольку её пишет и обновляет команда effector. Перевод документации на другие языки осуществляется сообществом по мере наличия сил и желания.
Помните, что переведенные статьи могут быть неактуальными, поэтому для получения наиболее точной и актуальной информации рекомендуем использовать оригинальную англоязычную версию документации.