DS
Size: a a a
DS
c
c
svelte/store...import type { Writable } from "svelte/store";
import type { Store } from "effector"
import { createEvent } from "effector";
export function asSvelteStore<T>(store: Store<T>) {
const set = createEvent<T>();
const newStore = store.map(x => x).on(set, alwaysNew);
const svelteStore: Writable<T> = {
...newStore,
set,
update(updater) {
set(updater(newStore.getState()))
}
};
return svelteStore;
}V
const alwaysNew = (_, state) => stateV
V
c
.set добавитьc
V
V
c
V
<select> с динамическим value без bindyv
svelte/store...import type { Writable } from "svelte/store";
import type { Store } from "effector"
import { createEvent } from "effector";
export function asSvelteStore<T>(store: Store<T>) {
const set = createEvent<T>();
const newStore = store.map(x => x).on(set, alwaysNew);
const svelteStore: Writable<T> = {
...newStore,
set,
update(updater) {
set(updater(newStore.getState()))
}
};
return svelteStore;
}V
V
V
setState то можно и упростить...V
yv
svelte/store...import type { Writable } from "svelte/store";
import type { Store } from "effector"
import { createEvent } from "effector";
export function asSvelteStore<T>(store: Store<T>) {
const set = createEvent<T>();
const newStore = store.map(x => x).on(set, alwaysNew);
const svelteStore: Writable<T> = {
...newStore,
set,
update(updater) {
set(updater(newStore.getState()))
}
};
return svelteStore;
}V
Writable<T> нужно оба... А другого совместимого интерфейса пока не нашел