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
ReactHooks_CustomHookAndEncapsulation
Search
sonatard
July 29, 2019
Programming
7
810
ReactHooks_CustomHookAndEncapsulation
sonatard
July 29, 2019
Tweet
Share
More Decks by sonatard
See All by sonatard
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
470
Iteratorでページネーションを実現する
sonatard
3
1.3k
Goのエラースタックトレースの歴史と今後
sonatard
16
15k
Go 1.22のEnhanced ServeMux chiから移行できるのか?
sonatard
4
610
GraphQL実践ノウハウv2
sonatard
17
3k
プロトコル、インターフェースとしてのGraphQL
sonatard
4
2.1k
GraphQL実践ノウハウ/graphql-knowhow
sonatard
40
12k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Go1.18から導入されるnetip package/netip-package
sonatard
2
1.2k
Other Decks in Programming
See All in Programming
AHC051解法紹介
eijirou
0
620
TDD 実践ミニトーク
contour_gara
0
140
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.2k
Rancher と Terraform
fufuhu
0
100
ソフトウェアテスト徹底指南書の紹介
goyoki
1
110
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
200
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
480
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
570
A Gopher's Guide to Vibe Coding
danicat
0
170
tool ディレクティブを導入してみた感想
sgash708
1
150
兎に角、コードレビュー
mitohato14
0
150
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
KATA
mclloyd
32
14k
For a Future-Friendly Web
brad_frost
179
9.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
It's Worth the Effort
3n
187
28k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Transcript
1 3FBDU)PPLTΧελϜϑοΫͱΧϓηϧԽ 3FBDUKTNFFUVQॳ৺ऀܴ-5ձ !TPOBUBSE
D Technologies ͦͳଠ @sonatard • Linux Server and Network Engineer
# System C • Wireless LAN Module Simulator # Cݴޠ • TCP/IP protocol stack on RTOS • TCP Offload Engine # Go • Google App Engine # TypeScript • React+Redux
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
4 3FBDU)PPLT w 3FBDU)PPLTɺ3FBDUͰՃ͞Εͨ৽ػೳɻ w TUBUFͳͲͷ3FBDUͷػೳΛɺΫϥεΛॻ͔ͣʹ͑ΔΑ͏ʹͳΔɻ
5 3FBDU)PPLT͕ఏڙ͢Δؔ w 3FBDU)PPLTɺVTF4UBUFҎ֎ʹVTF&⒎FDUɺVTF$POUFYUͳͲ߹ܭݸͷެ͕ࣜఏڙ ͢Δ͕ؔଘࡏ͢Δɻ w ࠓճVTF4UBUFΛத৺ʹઆ໌͠·͢ɻ
6 ΧελϜϑοΫͱΧϓηϧԽ w ΧελϜϑοΫͱಠࣗͷϑοΫΛ࡞͢Δ͜ͱɻ w ίϯϙʔωϯτ͔ΒϩδοΫΛநग़͢Δ͜ͱͰɺϩδοΫͷ࠶ར༻ੑ্͕͢Δɻ w ঢ়ଶͱ࣮ͷৄࡉΛΧϓηϧԽͰ͖ɺίϯϙʔωϯτʹඞཁͳͱΠϯλʔϑΣʔεͩ ͚Λެ։͢Δ͜ͱ͕ՄೳͱͳΔɻ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
8 ΧελϜϑοΫͷ࣮ྫ࣮ߦΠϝʔδ w ίϯϙʔωϯτؒͷϖʔδωʔγϣϯΛ࣮͢ΔVTF-PDBM)JTUPSZΧελϜϑοΫɻ w ϒϥβͷIJTUPSZ"1*ͷΑ͏ͳͷɻ ࣍ ࣍ճ Δճ ϥεττοϓϥετ
Δճ ཤྺΛফڈ
9 ΧελϜϑοΫͷ࣮ྫW w ΧελϜϑοΫະ༻ίϯϙʔωϯτͱϩδοΫ͕Ұॹʹهड़͞Ε͍ͯΔ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
11 ΧελϜϑοΫͷ࣮ྫW w ίϯϙʔωϯτ͔ΒϩδοΫΛΧελϜϑοΫʹ͢Δɻ w ίϯϙʔωϯτ͕ඞཁͳใ͚ͩΛฦ͠ɺଞΧελϜϑοΫʹӅṭ͢Δɻ w ίϯϙʔωϯτ͕ඞཁͳͷ w ɺDVSSFOU1BHF
w ૢ࡞ɺ5PQɺ/FYUɺ#BDLɺ-BTUɺ3FTFU w ˞ཤྺҰཡσόοάҎ֎ʹෆཁͳͷͰฦ͞ͳ͍ɻ
12 ΧελϜϑοΫͷ࣮ྫW w ΧελϜϑοΫ͔ΒෆཁͳIJTUPSZฦͣ͞ɺඞཁͳͱૢ࡞͚ͩΛฦ͢ɻ
13 ΧελϜϑοΫͷ࣮ྫW w ίϯϙʔωϯτ͕7JFXʹϑΥʔΧεͨ͠ίʔυͱͳΔ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
15 ΧελϜϑοΫͷ࣮ྫW w ࠓճͷૢ࡞ʹରͯ͠ΠϯλʔϑΣʔεΛఆٛ͢Δɻ
16 ΧελϜϑοΫͷ࣮ྫW w Ұ࿈ͷૢ࡞͕ؔ࿈͕͋Δ͜ͱ͕Θ͔Γ͘͢ͳΔɻ w ଞͷίϯϙʔωϯτʹରͯ͠ૢ࡞Λ͢͜ͱ༰қʹͳΔɻ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
18 ΧελϜϑοΫͷ࣮ྫW w 4UBDL -*'0 ͷσʔλߏΛΧελϜϑοΫͱͯ͠Γग़͢ɻ w ΧελϜϑοΫଟஈߏ͕ՄೳͳͷͰɺVTF-PDBM)JTUPSZ͔ΒVTF4UBDLΛݺͿɻ
19 ΧελϜϑοΫͷ࣮ྫW w VTF-PDBM)JTUPSZ͕4UBDLͷσʔλߏΛҙࣝͤͣɺը໘ભҠͷ੍ޚ͚ͩΛϩδοΫͱ͠ ͯ࣋ͭΑ͏ʹͳΔɻ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
21 ΧελϜϑοΫͷ࣮ྫW w ίϯϙʔωϯτͷ࠶ඳըΛճආ͢ΔͨΊʹɺVTF$BMMCBDLͱVTF.FNPΛར༻͢Δɻ w VTF-PDBM)JTUPSZΛར༻͍ͯ͠Δίϯϙʔωϯτ͕࣮ߦ͞ΕΔͨͼʹɺίʔϧόοΫఆ ͕ٛ࠶࣮ߦ͞ΕΔ͜ͱΛճආ͢Δɻ w MPDBM)JTUPSZΛผͷίϯϙʔωϯτʹ͍ͯ͠Δ߹ͳͲʹҙຯ͕͋Δɻ
• R e a c t H o o k
s ͱ • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 1 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 2 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 3 • Χ ε λ Ϝ ϑ ο Ϋ ͷ ࣮ ྫ v 4 • · ͱ Ί
23 ΧελϜϑοΫͱΫϥε w ͜ͷܗʹԿ͔ݟ͕֮͑͋ΔɻɻɻΫϥεʂ w Ϋϥε w ঢ়ଶϝϯόϑΟʔϧυ w ૢ࡞ϝιου
w ॳظԽίϯετϥΫλ w ΧελϜϑοΫ w ঢ়ଶVTF4UBUF w ૢ࡞ؔ w ॳظԽϑοΫͷҾ
24 ·ͱΊ w 3FBDU)PPLTͷΧελϜϑοΫͷొʹΑΓɺΦϒδΣΫτࢦͷϊϋ͕׆༻Ͱ͖ ΔΑ͏ʹͳͬͨɻ w దͳઃܭʹΑΓҎԼ͕࣮ݱՄೳ w ୯Ұͷݪଇ 431
ɺใӅṭ ΧϓηϧԽ w Մಡੑͷ্ɺ࠶ར༻ੑͷ্
25 ·ͱΊ w ࠷େͷϝϦοτ w ίϯϙʔωϯτʹґଘ͠ͳ͍ϩδοΫ͚͕ͩ044ͱͯ͠ڞ༗͞ΕΔΑ͏ʹͳͬͨ w ࠓޙঢ়ଶΛ࣋ͭϩδοΫΛॻ͘લʹɺݕࡧ͢Δ͜ͱΛ͓͢͢Ί͠·͢ɻ w IUUQTHJUIVCDPNTUSFBNJDISFBDUVTF
w IUUQTOJLHSBGHJUIVCJPSFBDUIPPLT w IUUQTVTFIPPLTDPN