Top Banner
Flux + React Rick Mak May 2015
22

How to use Flux (pattern) in React?

Apr 15, 2017

Download

Software

Oursky
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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)