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
Immutable, Performance and Component Communication
Search
Randy Lien
March 23, 2015
Programming
0
87
Immutable, Performance and Component Communication
React.JS TW fifth meetup
Randy Lien
March 23, 2015
Tweet
Share
More Decks by Randy Lien
See All by Randy Lien
The ideas of Clojure - Things I learn from Clojure
randylien
0
160
Django Girls 2015 - HTML
randylien
1
160
Django Girls 2015 - CSS
randylien
1
97
React.JS Conf & f8
randylien
1
200
Introduce Flux & React in KKBOX
randylien
6
420
What is the next step for a front end beginner
randylien
1
82
Understand front end developer
randylien
2
140
Introduce Flux & React in practice
randylien
8
440
UI Engineering Introduction
randylien
0
37
Other Decks in Programming
See All in Programming
Code Reviews
bkuhlmann
4
890
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
140
GitHub Copilotのススメ
marcy731
1
200
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
500
SIMD Parallel Programming with the Vector API
josepaumard
0
190
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
980
Fast JSX: Don't clone props object #28768
yossydev
1
130
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
Apache Hive 4 on Treasure Data
ryukobayashi
0
350
Elm Form Validation
bkuhlmann
0
510
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Gamification - CAS2011
davidbonilla
76
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
A Philosophy of Restraint
colly
197
16k
Debugging Ruby Performance
tmm1
70
11k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Practical Orchestrator
shlominoach
182
9.7k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
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