Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ReactJS Awesomeness
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Swaroop SM
July 28, 2015
Programming
260
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ReactJS Awesomeness
A quick introduction to ReactJS
Swaroop SM
July 28, 2015
More Decks by Swaroop SM
See All by Swaroop SM
Client-Side Data Modelling and more...
swaroopsm
0
63
Testing JavaScript like a "BOSS"
swaroopsm
0
68
The Truth About Truthy & Falsy
swaroopsm
1
61
Other Decks in Programming
See All in Programming
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.7k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
net-httpのHTTP/2対応について
naruse
0
500
Webフレームワークの ベンチマークについて
yusukebe
0
170
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
250
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
さぁV100、メモリをお食べ・・・
nilpe
0
140
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Optimizing for Happiness
mojombo
378
71k
Become a Pro
speakerdeck
PRO
31
6k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
Build your cross-platform service in a week with App Engine
jlugia
234
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Visualization
eitanlees
152
17k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Transcript
ReactJS Awesomeness
I don’t want to learn another JS framework.
Well what is it then?
• Born at Facebook. • Lets you build user interfaces.
• Described as the V in MVC. • Building large applications with data that changes over time. • Actively maintained. • https://github.com/facebook/react
I AM NOT CONVINCED
TIME TO GET SERIOUS
What it does not have? • No Router. • No
Controllers. • No Models. • No Templates.
What does it have then? • Components • And Components
• …. And Components
Separation of Concerns • Controller • Remove an item. •
Compl
Separate the Components
Component-Wise Separation • Composable • Reusable • Maintainable • Testable
STILL NO “REACTION?”
React Stuffs • Component • JSX • props • state
• refs • Virtual DOM • Server-Side Rendering
Component • Elements in view. Eg.: Button Widget, Shopping Cart
Widget etc. • `React.createClass({ })` • Must override the render method
None
JSX • A JS syntax extension that looks like XML
• Can be transformed into JS using React
None
props • Immutable • Attributes to a component. • Accessible
through `this.props`
None
state • Mutable • Set using `setState` • Access via
`this.state` • Triggers a render automatically when a state changes
None
refs • Lets you access references to individual components •
Manipulate the DOM • Use `this.refs`
None
Virtual DOM • Virtual Representation of DOM • Can keep
track of what has changes in the DOM • Render only the changed parts based on a diffing algorithm • VERY FAST!!!
Server-Side Rendering • Construct React components as an HTML on
the server-side and render it. • SEO for Free :)
Integrating with Rails • https://github.com/reactjs/react-rails • react_component(<Button />, props={}, html_options={})
#jally Thank You