Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Immutable, Performance and Component Communication
Search
Randy Lien
March 23, 2015
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Immutable, Performance and Component Communication
React.JS TW fifth meetup
Randy Lien
March 23, 2015
More Decks by Randy Lien
See All by Randy Lien
The ideas of Clojure - Things I learn from Clojure
randylien
0
210
Django Girls 2015 - HTML
randylien
1
240
Django Girls 2015 - CSS
randylien
1
190
React.JS Conf & f8
randylien
1
230
Introduce Flux & React in KKBOX
randylien
6
460
What is the next step for a front end beginner
randylien
1
120
Understand front end developer
randylien
2
220
Introduce Flux & React in practice
randylien
8
480
UI Engineering Introduction
randylien
0
70
Other Decks in Programming
See All in Programming
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.4k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
130
AWSに止められる覚悟してますか?
morizo_1984
2
380
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
230
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
280
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
110
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
140
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.3k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
780
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
From π to Pie charts
rasagy
1
380
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Docker and Python
trallard
47
4.2k
ラッコキーワード サービス紹介資料
rakko
1
5M
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Crafting Experiences
bethany
1
350
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Transcript
Immutable Performance Randy Lien @React.JS TW 第五次⼩小聚
About Me • @randylien • Front end developer
Agenda • Immutable • Performance • Components Communication • Conclusion
Functional Programming
None
Why Immutable? • Immutable data has no side effect! •
Shared mutable state is the root of all evil - Pete Hunt • You will not get hurt by yourself or someone
None
Why Immutable? (cont.) • Immutable.js is fast enough and memory
optimisation • Why Om is faster ? Data or Value is immutable in Clojure/ClojureScript • Immutable + PureRenderMixin
Simple Made Easy
Performance
Performance • Pure Component (prop & state) • shouldComponentUpdate •
Don’t update when its the same
Performance (cont.) • Container Component Pattern • Container Component as
Data Layer • Data fetching • Component is all about its behaviour • Testing Container or Gallery Container
Components Communication
How to Communicate • Parent - Children • Use Callbacks
• No relationship • Global event hub • Flux • Codecademy • Adapter, broadcast • Channel (CSP) • Cursor (react-cursor)
None
Conclusion
Conclusion • Embracing Immutable data for the future (JavaScript) development
• Componentize your User Interface • Loose coupling your component • Container Component • General Component • You can pick the suitable solution for your needs
None
Conclusion(cont.) • Watch Simple made easy • Try Clojure/ClojureScript
FAQ