Создание универсальных приложений на React
Роман Якобчук
Для бизнеса каждый клик - потеря клиентов
SPA vs Classic
React.renderToString(<App {...initialState} />)
React.render(<App {...initialState} />, container)
frameworks-friendly
React-way
State
UI
Pure Function
Сказочный мир ФП
0. Функции - first-class citizens
1. Чистые функции
2. Иммутабельные данные
2 + 2 = 4
сервер, браузер... да хоть мобильное приложение
ну, это для тех, кто побывал в колбечном аду
чистые функции не ломаются
ивент-сорсинг, тайм-тревел и остальное счастье
function increment(amount) {
return {
type: INCREMENT,
data: {amount}
}
}
function counter(number = 0, action) {
const {type, data} = action
return type == INCREMENT ? number + data.amount : number
}
Current State
Final State
New State
Action
New State
Action
Action
Action Creator
Middlewares
Reducers
Store
UI
dispatch
Side-effects
Skype: r.iakobchuk
Email: r.iakobchuk@gmail.com