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
820
ReactHooks_CustomHookAndEncapsulation
sonatard
July 29, 2019
Tweet
Share
More Decks by sonatard
See All by sonatard
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
480
Iteratorでページネーションを実現する
sonatard
3
1.3k
Goのエラースタックトレースの歴史と今後
sonatard
17
15k
Go 1.22のEnhanced ServeMux chiから移行できるのか?
sonatard
4
620
GraphQL実践ノウハウv2
sonatard
17
3k
プロトコル、インターフェースとしてのGraphQL
sonatard
4
2.2k
GraphQL実践ノウハウ/graphql-knowhow
sonatard
41
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Go1.18から導入されるnetip package/netip-package
sonatard
2
1.2k
Other Decks in Programming
See All in Programming
CSC305 Lecture 03
javiergs
PRO
0
240
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.6k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
170
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
620
What's new in Spring Modulith?
olivergierke
1
110
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
360
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1k
株式会社 Sun terras カンパニーデック
sunterras
0
250
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
360
私はどうやって技術力を上げたのか
yusukebe
43
17k
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
100
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
27
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Practical Orchestrator
shlominoach
190
11k
Raft: Consensus for Rubyists
vanstee
139
7.1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Balancing Empowerment & Direction
lara
4
680
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Writing Fast Ruby
sferik
629
62k
Music & Morning Musume
bryan
46
6.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
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