how to use flux (pattern) in react?

22
Flux + React Rick Mak May 2015

Upload: oursky

Post on 15-Apr-2017

89 views

Category:

Software


2 download

TRANSCRIPT

Page 1: How to use Flux (pattern) in React?

Flux + React

Rick Mak May 2015

Provided to you by
Skygear.io
Open source development kit for mobile, web & IoT apps
Page 2: How to use Flux (pattern) in React?

One of the pain

DOM

Skygear.io
Page 3: How to use Flux (pattern) in React?

Direct DOM = painful = BUG

Skygear.io
Page 4: How to use Flux (pattern) in React?

Age of Backbone

Model View

Skygear.io
Page 5: How to use Flux (pattern) in React?

Works Great in small scale

Skygear.io
Page 6: How to use Flux (pattern) in React?

more Model; more View

Skygear.io
Page 7: How to use Flux (pattern) in React?

It is SLOW

Skygear.io
Page 8: How to use Flux (pattern) in React?

Let Optimise it

Skygear.io
Page 9: How to use Flux (pattern) in React?
Skygear.io
Page 10: How to use Flux (pattern) in React?

Say Hello to VirtualDOM

Skygear.io
Page 11: How to use Flux (pattern) in React?

Model Virtual DOM DOM

Interact with VirtualDOM

Data Data

Event Event

Skygear.io
Page 12: How to use Flux (pattern) in React?

setState will trigger render

Define your view

Skygear.io
Page 13: How to use Flux (pattern) in React?

React calculate the diff

• Set state will mark the red dot

• React will find out the blue dots

• Re-render with only the modified dom

Source: https://facebook.github.io/react/img/blog/react-diff-tree.png

Skygear.io
Page 14: How to use Flux (pattern) in React?

Fast without spaghetti

Skygear.io
Page 15: How to use Flux (pattern) in React?

Let focus on Logic

Skygear.io
Page 16: How to use Flux (pattern) in React?

State inconsistency

Very common in single page webapp

Skygear.io
Page 17: How to use Flux (pattern) in React?

State inconsistency

• Server sync not sync with client state

• item missing

• duplicate item

• State between client not sync

• State panic with poor internet

Skygear.io
Page 18: How to use Flux (pattern) in React?

Flux fix that

Skygear.io
Page 19: How to use Flux (pattern) in React?

It is a pattern

A pattern enforcing unidirectional data flow

Flux is not framework

Skygear.io
Page 20: How to use Flux (pattern) in React?

View

Action

Store

Dispatcher

Server

Skygear.io
Page 21: How to use Flux (pattern) in React?

Unidirectional data flow

• Faster debug

• Faster on boarding

• Faster iteration

• Less cascading effect

Skygear.io
Page 22: How to use Flux (pattern) in React?

Brought to you by Oursky

Build your mobile app fast skygear.io (open source)