SlideShare a Scribd company logo
Building single page 
apps with React.JS 
@vagmi - on twitter/github/facebook
http://facebook.github.io/react/
My JS journey
React.JS is not an MVC Framework
React.JS is a view library
And…. its fast
State is the root of all evil.
Whats wrong with two-way data 
binding? 
http://embed.plnkr.co/0DGOrk/preview
Shamelessly Stolen from https://docs.google.com/presentation/d/ 
1afMLTCpRxhJpurQ97VBHCZkLbR1TEsRnd3yyxuSQ5YY/ 
edit#slide=id.g380053cce_0143
Shamelessly Stolen from https://docs.google.com/presentation/d/ 
1afMLTCpRxhJpurQ97VBHCZkLbR1TEsRnd3yyxuSQ5YY/ 
edit#slide=id.g380053cce_0143
Shamelessly Stolen from https://docs.google.com/presentation/d/ 
1afMLTCpRxhJpurQ97VBHCZkLbR1TEsRnd3yyxuSQ5YY/ 
edit#slide=id.g380053cce_0143
Shamelessly Stolen from https://docs.google.com/presentation/d/ 
1afMLTCpRxhJpurQ97VBHCZkLbR1TEsRnd3yyxuSQ5YY/ 
edit#slide=id.g380053cce_0143
Shamelessly Stolen from https://docs.google.com/presentation/d/ 
1afMLTCpRxhJpurQ97VBHCZkLbR1TEsRnd3yyxuSQ5YY/ 
edit#slide=id.g380053cce_0143
Mutability is the root of all evil 
- May be Rich Hickey
State vs Props
this.setState(newState) 
Re-renders itself and all the containing components
Are you crazy?
Virtual DOM 
As it turns out, JS is fast enough
DOM Diffing 
renderA: <div><span>first</span></div> 
renderB: <div><span>second</span><span>first</span></ 
div> 
=> [replaceAttribute textContent 'second'], 
[insertNode <span>first</span>]
<JSX></JSX>
Building Single Page Apps with React.JS
Look ma, no templates
Mixing markup and JS in the same file?
Give it five minutes 
We strongly believe that components are the right way to 
separate concerns rather than "templates" and "display logic." 
We think that markup and the code that generates it are 
intimately tied together. Additionally, display logic is often very 
complex and using template languages to express it becomes 
cumbersome. - React Authors
Show me some code
React Problems
App 
Cart Component Header 
Cart Details Cart Summary
Enter Flux 
http://facebook.github.io/react/docs/flux-overview.html
Stores, Events, Dispatchers 
Views ---> (actions) ----> Dispatcher ---> (registered callback) ---> Stores -------+ 
Ʌ | 
| V 
+-- (Controller-Views "change" event handlers) ---- (Stores emit "change" events) --+
Thanks 
@vagmi on Github/Twitter/Facebook

More Related Content

PDF
Best Practice-React
PDF
learning react
PPTX
Rethinking Best Practices
PDF
Workshop React.js
PDF
React on es6+
PDF
React Fundamentals - Jakarta JS, Apr 2016
PPTX
Untangling spring week7
PDF
Learning React - I
Best Practice-React
learning react
Rethinking Best Practices
Workshop React.js
React on es6+
React Fundamentals - Jakarta JS, Apr 2016
Untangling spring week7
Learning React - I

What's hot (20)

PDF
Ryan Christiani I Heard React Was Good
PPTX
React vs Angular: ups & downs (speaker Oleksandr Kovalov, Binary Studio)
PPTX
Untangling8
KEY
New Perspectives on Performance
PDF
Front Ends for Back End Developers - Spring I/O 2017
PDF
Angular js vs. Facebook react
PDF
The Complementarity of React and Web Components
PPSX
React introduction
PDF
A Debugging Adventure: Journey through Ember.js Glue
PDF
Getting Started with React-Nathan Smith
KEY
SproutCore is Awesome - HTML5 Summer DevFest
PPTX
Untangling4
PDF
Building Modern Web Applications using React and Redux
PDF
React Walk-Thru - Santa Cruz JS, May 2015
PDF
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
PPT
jQuery For Developers Stack Overflow Dev Days Toronto
PDF
Testing Angular Applications - Jfokus 2017
PDF
Ten practical ways to improve front-end performance
PDF
Introduction to VueJS & The WordPress REST API
PDF
Introduction to react
Ryan Christiani I Heard React Was Good
React vs Angular: ups & downs (speaker Oleksandr Kovalov, Binary Studio)
Untangling8
New Perspectives on Performance
Front Ends for Back End Developers - Spring I/O 2017
Angular js vs. Facebook react
The Complementarity of React and Web Components
React introduction
A Debugging Adventure: Journey through Ember.js Glue
Getting Started with React-Nathan Smith
SproutCore is Awesome - HTML5 Summer DevFest
Untangling4
Building Modern Web Applications using React and Redux
React Walk-Thru - Santa Cruz JS, May 2015
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
jQuery For Developers Stack Overflow Dev Days Toronto
Testing Angular Applications - Jfokus 2017
Ten practical ways to improve front-end performance
Introduction to VueJS & The WordPress REST API
Introduction to react
Ad

Similar to Building Single Page Apps with React.JS (20)

PPTX
reactJS
PPTX
ReactJS Code Impact
PPTX
Introduction to React JS
PDF
Welcome to React & Flux !
PPTX
ReactJS - Re-rendering pages in the age of the mutable DOM
PDF
Tech Talk on ReactJS
PDF
React JS and Redux
PPT
React js
PDF
Functional Web Development
PPTX
react js training|react js training in mumbai|React js classes in mumbai
PPTX
React JS - A quick introduction tutorial
PPTX
theory-slides-for react for beginners.pptx
PPTX
Introduction to ReactJS UI Web Dev .pptx
PDF
All the reasons for choosing react js that you didn't know about - Avi Marcus...
PPTX
PDF
React JS and why it's awesome
PDF
Introduction to ReactJS
PPTX
React JS: A Secret Preview
PDF
FRONTEND DEVELOPMENT WITH REACT.JS
PDF
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
reactJS
ReactJS Code Impact
Introduction to React JS
Welcome to React & Flux !
ReactJS - Re-rendering pages in the age of the mutable DOM
Tech Talk on ReactJS
React JS and Redux
React js
Functional Web Development
react js training|react js training in mumbai|React js classes in mumbai
React JS - A quick introduction tutorial
theory-slides-for react for beginners.pptx
Introduction to ReactJS UI Web Dev .pptx
All the reasons for choosing react js that you didn't know about - Avi Marcus...
React JS and why it's awesome
Introduction to ReactJS
React JS: A Secret Preview
FRONTEND DEVELOPMENT WITH REACT.JS
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
Ad

More from Vagmi Mudumbai (11)

PDF
Bitcoin a developer's perspective
PDF
Purely functional UIs
PDF
Crystal - Statically Typed Ruby
PDF
Pragmatic Functional Programming in the JS land with Clojurescript and Om
PDF
JSFoo 2014 - Building beautiful apps with Clojurescript
PDF
Real Time Analytics with Cassandra
KEY
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
KEY
Github - Down the Rabbit Hole
PDF
Ruby on Rails - Introduction
KEY
Introduction to JRuby
KEY
MongoDB - Introduction
Bitcoin a developer's perspective
Purely functional UIs
Crystal - Statically Typed Ruby
Pragmatic Functional Programming in the JS land with Clojurescript and Om
JSFoo 2014 - Building beautiful apps with Clojurescript
Real Time Analytics with Cassandra
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
Github - Down the Rabbit Hole
Ruby on Rails - Introduction
Introduction to JRuby
MongoDB - Introduction

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
cuic standard and advanced reporting.pdf
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
cuic standard and advanced reporting.pdf
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
A comparative analysis of optical character recognition models for extracting...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks

Building Single Page Apps with React.JS