Метод для создания событий
Формула
event = createEvent() > Event<void>;
event = createEvent<T>() > Event<T>;
event = createEvent(/*name*/ "eventName") > Event<void>;
Аргументы
name?
: stringОпциональное имя события
Возвращает
Новое событие
Примеры
Обновление состояния с помощью вызова события
import { createStore, createEvent } from "effector";
const addNumber = createEvent();
const $store = createStore(0).on(addNumber, (state, number) => state + number);
$store.watch((state) => {
console.log("state", state);
});
// => 0
addNumber(10);
// => 10
addNumber(10);
// => 20
addNumber(10);
// => 30
Мы создали событие (addNumber) и стор $store, после чего подписались на обновления стора.
Обратите внимание на вызов функции addNumber(10)
. Всякий раз, когда вы будете вызывать addNumber(10)
, вы можете посмотреть в консоль и увидеть, как меняется состояние
Обработка данных с помощью производных событий
import { createEvent } from "effector";
const extractPartOfArray = createEvent();
const array = extractPartOfArray.map((arr) => arr.slice(2));
array.watch((part) => {
console.log(part);
});
extractPartOfArray([1, 2, 3, 4, 5, 6]);
// => [3, 4, 5, 6]
Документация на английском языке - самая актуальная, поскольку её пишет и обновляет команда effector. Перевод документации на другие языки осуществляется сообществом по мере наличия сил и желания.
Помните, что переведенные статьи могут быть неактуальными, поэтому для получения наиболее точной и актуальной информации рекомендуем использовать оригинальную англоязычную версию документации.