SlideShare a Scribd company logo
React, Redux and Building
Applications that Scale
BY KRISTOF VAN MIEGEM
Co-Founder Codifly
About me
2012
2013
2014
2015 2016
2018
Agenda
• Issues with Traditional Front End Development
• React to the Rescue
• React Components
• Hands-On
Issues with traditional
front-end development
About imperative programming, MVC and the DOM
Assignment is bad!
function transformUser(user) {
user.name = `${user.firstName} ${user.name}`;
return user;
}
const mackey = { firstName: ‘John’, name:‘Mackey’ };
const user1 = transformUser(mackey);
const user2 = transformUser(mackey);
user1.name !== user2.name
f(x) = f(x)
Pure Functions
MVC
Model
The
data
Controller
Processes
Events
View
Display
Events
Notify Update
User ActionUpdate
MVC
Model View
The Limited Scalability of MVC
Model View
Model View
Model View
Model View
The DOM is an Inconvenient and Slow API
<body>
<h1> <p> <h2> <p>
text text text text
Summary
• Imperative Programmming is
Cumbersome and Error-Prone
• The Scalability of MVC is Limited
• The DOM is an Inconvenient and Slow API
Issues with traditional front-end development
React to the Rescue
Structuring JavaScript Apps Done Well
Front End Frameworks
“How do you structure front end
JavaScript Applications?”
React
React Components
Cohesive units bundling both the look-and-feel
and logic of the UI:
• Declaratively define how the UI should
look like at any point in time
• Contain logic for event handling
React Components
React Components
TodoApp
FilterableTodoTable
TodoTable
TodoItem
TodoItem
TodoItem
“Whenever the state
changes, rerender the
entire user interface.”
One-Way Reactive Data Flow
State
DOM
New State
New DOM
Initial Render
(1) Call render() recursively
(2) Generate markup
(3) Inject markup in the DOM
(4) Attach events
Reconciliation
1
2 3
4 6 75
1
2 3
4 6 78
-5 +8
React Components
Bundling look-and-feel and behaviour
Props vs State: Commonalities
• … are JavaScript data structures
• … changes trigger a rerender
• … are deterministic
render(props, state)
= render(props, state)
Render as a Pure Function
Props vs State: Differences
Props State
… are received from the parent
component
… is created within the component
… form a component’s “configuration” … is private and managed internally
… are read via this.props … is read via this.state
… are immutable … is mutable: this.setState()
Component Lifecycle
constructor
willMount
render
didMount
willReceiveProps
shouldUpdate
willUpdate
render
didUpdate
willUnmount
Props change
setState()
unmount
returned false
Rich Ecosystem
• styled-components
• redux
• mobx
• react-dnd
• react-dropzone
• react-modal
• react-i18next
• react-router
• …
Visual primitives for the component age.
Predictable state container for JS apps
Simple, scalable state management
Drag and Drop for React
Simple HTML5 drag-drop zone with React
Accessible modal dialog component
Internationalization for React done right
A complete routing library for React
…
Let’s script!
Getting our hands dirty with React state and props
A First Component
<ClickButton
text=‘Hello text prop'
onClick={alert.bind(null, ‘Hey!’)} />;
JSX: It’s just JavaScript
<ClickButton
text=‘Hello text prop’
onClick={alert.bind(null, ‘Hey!’)} />;
React.createElement(ClickButton, {
text: ‘Hello text prop',
onClick: alert.bind(null, ‘Hey!') });
Slide title https://lpnpz04lxl.codesandbox.io/
Let’s script!
• Go to https://codesandbox.io/s/new
• Create two files: ClickButton.js and Counter.js
• Clicking the button increments the counter
Ready,
Set,
Code!
Solution: https://codesandbox.io/s/lpnpz04lxl

More Related Content

PDF
PPTX
Introduction to react js
PPTX
Introduction to React JS for beginners
PPTX
Getting started with react &amp; redux
PPTX
Intro to React
PDF
React JS & Functional Programming Principles
PPTX
[Final] ReactJS presentation
PPTX
20180518 QNAP Seminar - Introduction to React Native
Introduction to react js
Introduction to React JS for beginners
Getting started with react &amp; redux
Intro to React
React JS & Functional Programming Principles
[Final] ReactJS presentation
20180518 QNAP Seminar - Introduction to React Native

What's hot (20)

PPTX
Introduction to React JS for beginners | Namespace IT
PPTX
Introduction to React JS
PPTX
The Benefits of Using React JS for Web Development!
PPT
Jsfsunum
PDF
React: High level overview for backend developers
PDF
React – Structure Container Component In Meteor
PPTX
EJB 3.0 course Sildes and matrial
PPTX
React & Redux JS
PPTX
Its time to React.js
PPTX
React JS - A quick introduction tutorial
PPTX
Android Architectures
PPTX
React-JS Component Life-cycle Methods
PDF
Learning React - I
PDF
React & Redux
PPTX
React js for beginners
PDF
The Road To Redux
PDF
Robust web apps with React.js
PDF
ReactJS - A quick introduction to Awesomeness
PDF
Android Architecture Components
PDF
Backbone to React. What it says about awesome UI Code.
Introduction to React JS for beginners | Namespace IT
Introduction to React JS
The Benefits of Using React JS for Web Development!
Jsfsunum
React: High level overview for backend developers
React – Structure Container Component In Meteor
EJB 3.0 course Sildes and matrial
React & Redux JS
Its time to React.js
React JS - A quick introduction tutorial
Android Architectures
React-JS Component Life-cycle Methods
Learning React - I
React & Redux
React js for beginners
The Road To Redux
Robust web apps with React.js
ReactJS - A quick introduction to Awesomeness
Android Architecture Components
Backbone to React. What it says about awesome UI Code.
Ad

Similar to 2018 02-22 React, Redux & Building Applications that Scale | React (20)

PPTX
2.React tttttttttttttttttttttttttttttttt
PDF
Workshop 19: ReactJS Introduction
PPTX
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
PPTX
React/Redux
PPTX
React workshop
PPTX
React js - The Core Concepts
PPTX
Introduction to ReactJS UI Web Dev .pptx
PPTX
Introduction to React JS.pptx
PPTX
React Workshop: Core concepts of react
PDF
React for Dummies
PDF
React Interview Question & Answers PDF By ScholarHat
PPTX
Introduction to React
PDF
react hook and wesite making structure ppt
PPTX
Introduction to react and redux
PPTX
PPTX
React learning in the hard way
PDF
Let's discover React and Redux with TypeScript
PDF
React JS and why it's awesome
PDF
Corso su ReactJS
PPTX
react-slides.pptx
2.React tttttttttttttttttttttttttttttttt
Workshop 19: ReactJS Introduction
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React/Redux
React workshop
React js - The Core Concepts
Introduction to ReactJS UI Web Dev .pptx
Introduction to React JS.pptx
React Workshop: Core concepts of react
React for Dummies
React Interview Question & Answers PDF By ScholarHat
Introduction to React
react hook and wesite making structure ppt
Introduction to react and redux
React learning in the hard way
Let's discover React and Redux with TypeScript
React JS and why it's awesome
Corso su ReactJS
react-slides.pptx
Ad

Recently uploaded (20)

PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Understanding Forklifts - TECH EHS Solution
PDF
medical staffing services at VALiNTRY
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Introduction to Artificial Intelligence
PDF
Nekopoi APK 2025 free lastest update
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administration Chapter 2
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Design an Analysis of Algorithms II-SECS-1021-03
top salesforce developer skills in 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Understanding Forklifts - TECH EHS Solution
medical staffing services at VALiNTRY
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Operating system designcfffgfgggggggvggggggggg
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Computer Software and OS of computer science of grade 11.pptx
Introduction to Artificial Intelligence
Nekopoi APK 2025 free lastest update
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administration Chapter 2
Which alternative to Crystal Reports is best for small or large businesses.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

2018 02-22 React, Redux & Building Applications that Scale | React