createEvent(name?)
Creates an Event. In other words you create intention.
You can pass name
if you want.
Arguments
name
? (string): Event name.
Returns
Event: New event
Notes
Event - it is a function which allows to change state when called, see Example 1, also it can be a good way to extract data, see Example 2 and we will discuss it the next section.
Example 1
import {createStore, createEvent} from 'effector'const store = createStore(0)const addNumber = createEvent()store.on(addNumber, (state, number) => state + number)store.watch(state => { console.log('state', state)})// => 0
addNumber(10)// => 10
addNumber(10)// => 20
addNumber(10)// => 30
Let's talk about what happened. We created a store and an event (addNumber), and started watching the store.
Notice the function call addNumber(10)
. Whenever you will call addNumber(10)
, you can look at the console and see how state changes.
Example 2
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]