react + redux. Опыт использования

35
React + Redux Опыт использования @Provectus Timofey Lavrenyuk

Upload: gdg-odessa

Post on 06-Jan-2017

89 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: React + Redux. Опыт использования

React + ReduxОпыт использования

@Provectus

Timofey Lavrenyuk

Page 2: React + Redux. Опыт использования

Небольшая история…

Page 3: React + Redux. Опыт использования
Page 4: React + Redux. Опыт использования
Page 5: React + Redux. Опыт использования
Page 6: React + Redux. Опыт использования

В чем была ошибка?

Page 7: React + Redux. Опыт использования

Front End

Page 8: React + Redux. Опыт использования

is just the "V" part

React

Page 9: React + Redux. Опыт использования

React app structure (min)

• View

• Controllers, Actions, etc…

• Router

• Data flow

Page 10: React + Redux. Опыт использования

React data flow

• Component state

• Flux

• Redux

• Relay

Page 11: React + Redux. Опыт использования

FluxData architecture, not framework or library

Page 12: React + Redux. Опыт использования

ReduxState management library

Page 13: React + Redux. Опыт использования

RelayJavascript framework for building data-driven real applications

Page 14: React + Redux. Опыт использования

Redux React

Page 15: React + Redux. Опыт использования

Main Principles

• Single source of truth

• State is read-only

• Changes are made with pure functions

Page 16: React + Redux. Опыт использования

Redux flow

Page 17: React + Redux. Опыт использования

Все намного проще…

• попробовать Redux без React

• попробовать Redux + React (redux-connect)

• использовать ES2016 (ES7)

Page 18: React + Redux. Опыт использования

Redux без React

Page 19: React + Redux. Опыт использования
Page 20: React + Redux. Опыт использования
Page 21: React + Redux. Опыт использования
Page 22: React + Redux. Опыт использования

Redux + React

redux-connect - модуль для биндинга

redux store в react компонент

Совет: использовать connect как декоратор (ES2016)

Page 23: React + Redux. Опыт использования
Page 24: React + Redux. Опыт использования
Page 25: React + Redux. Опыт использования

Стала ли жизнь лучше с Redux?

Page 26: React + Redux. Опыт использования

Жизнь - нет, а разработка - да• состояние не зависит от компонента и один

action может менять много состояний

• легче найти состояние и отделить action

• легче debugging

• состояние (и его историю) легко сохранить

(например в базу или localstorage)

• server rendering

Page 27: React + Redux. Опыт использования

Что нового в server rendering?

Page 28: React + Redux. Опыт использования

До Redux

Page 29: React + Redux. Опыт использования

После Redux

Page 30: React + Redux. Опыт использования

index.html

store.js

Page 31: React + Redux. Опыт использования
Page 32: React + Redux. Опыт использования

Какая ближайшая альтернатива Redux?

MobX

Page 33: React + Redux. Опыт использования

MobXSimple, scalable state management

Page 34: React + Redux. Опыт использования
Page 35: React + Redux. Опыт использования

Спасибо за внимание!