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]