2 + 2 = 4
сервер, браузер... да хоть мобильное приложение
ну, это для тех, кто побывал в колбечном аду
чистые функции не ломаются
ивент-сорсинг, тайм-тревел и остальное счастье
Current State
Final State
New State
Action
New State
Action
Action
store.dispatch({
type: INCREMENT,
payload: {amount}
})
store.subscribe(callback)
function increment(amount) {
return {
type: INCREMENT,
payload: {amount}
}
}
function counter(number = 0, action) {
const {type, payload} = action
return type == INCREMENT
? number + payload.amount
: number
}
Action Creator
Reducers
Store
UI
dispatch
Action Creator
Middlewares
Reducers
Store
UI
dispatch
Side-effects
Skype: r.iakobchuk
Email: r.iakobchuk@gmail.com