Методы

Создаёт Gate, через который модель получает данные из представления. Для Vue 3. Если задан defaultState, Gate.state создаётся с этим значением.

since

createGate появился в effector-vue 21.1.0

Методы

createGate(config?: {defaultState?, domain?, name?})

Аргументы

config (Object): необязательный объект конфигурации

  • defaultState?: начальное состояние Gate.state
  • domain? (Domain): домен, в котором создаются юниты гейта (событие Gate.open, стор Gate.state и другие)
  • name? (string): имя созданного Vue-компонента

Возвращает

Gate

Примеры

Базовый пример

model.ts
import { createGate } from "effector-vue/composition";
export const ListGate = createGate<string>({
name: "Gate with required props",
});
ListGate.state.watch((state) => {
console.log("current state", state);
});
// => current state null
ListItem.vue
<script setup lang="ts">
import { useGate } from "effector-vue/composition";
import { ListGate } from "./model";
const props = defineProps<{ id: string }>();
useGate(ListGate, () => props.id);
</script>
<template>
<div>{{ id }}</div>
</template>
App.vue
<script setup lang="ts">
import { ref } from "vue";
import ListItem from "./ListItem.vue";
const id = ref("1");
</script>
<template>
<ListItem :id="id" />
</template>
main.ts
import { createApp } from "vue";
import App from "./App.vue";
const app = createApp(App);
app.mount("#app");
// => current state 1
app.unmount();
// => current state null

Гейт открывается при монтировании с пропсами, которые есть в этот момент, и закрывается при размонтировании. В useGate описан порядок open и set, поведение в <KeepAlive> и на сервере.

Перевод поддерживается сообществом

Документация на английском языке - самая актуальная, поскольку её пишет и обновляет команда effector. Перевод документации на другие языки осуществляется сообществом по мере наличия сил и желания.

Помните, что переведенные статьи могут быть неактуальными, поэтому для получения наиболее точной и актуальной информации рекомендуем использовать оригинальную англоязычную версию документации.

Соавторы