Share
Embed
Transcript
22 slides
-
ൃද༰ʹ͍ͭͯ w ༰ w 3FDPJMʹ͍ͭͯͬ͘͟Γઆ໌ w 4UBUF.BOBHFNFOUʹ͍ͭͯͷৄࡉͳઆ໌ൺֱݕ౼ߦ͍·ͤΜ w 3FBDU/BUJWF։ൃΛ࢝Ίͯ͘Β͍ͳͷͰɺؒҧ͍͋Ε͝ࢦఠ͓ئ͍͠·͢ w
ରऀ w 4UBUF.BOBHFNFOU-JCSBSZΛͬͨ͜ͱ͕ͳ͍ํ w 3FDPJMʹ͍ͭͯؾʹͳ͍ͬͯΔํ w 3FBDU/BUJWFͰͳ͑͘Δ͔ؾʹͳ͍ͬͯΔํ -
4UBUF.BOBHFNFOU-JCSBSZ 4UBSLҎ্ͷ4UBUF.BOBHFNFOU-JCSBSZ w 4UBSɿL w ࠷ଟ͘ΘΕ͍ͯΔ 3FEVY .PC9 w 4UBSɿL
w 4JNQMF 94UBUF w 4UBSɿL w ঢ়ଶભҠɺՄࢹԽπʔϧଘࡏ w 4UBSɿL w (SBQI2-Ͱ༻ BQPMMPDMJFOU 3FDPJM w 4UBSɿL w 4JNQMFɺ'$Ͱ༻ ;VTUBOE w 4UBSɿL w 'MVYϕʔε IUUQTHJUIVCDPNPMFHSKVNJOBXFTPNFSFBDUTUBUFNBOBHFNFOU -
3FDPJM w 4UBUF.BOBHFNFOU-JCSBSZ w 'BDFCPPL͕։ൃ w &YQFSJNFOUBMͱ͍͏Ґஔ͚ͮ w 3FBDUͷ)PPLʹͱ͍ͮͨ*OUFSGBDF w
IUUQTSFDPJMKTPSHEPDTJOUSPEVDUJPONPUJWBUJPO w +PUBJͳͲͷɺ3FDPJMʹӨڹΛड͚ͨ-JCSBSZଘࡏ -
3FDPJM const TextState = atom({key: 'Text', default: ‘'}); const Content:
React.FC = () => { const [text, setText] = useRecoilState<string>(TextState); return ( <TextInput value={text} onChange={(event) => { setText(event.nativeEvent.text) }} /> ) } w "UPNΛఆٛ w $PNQPOFOU෦Ͱ3FDPJM4UBUFΛఆٛ ˠVTF4UBUFͱಉ͡Α͏ͳ͍ํͰ༻Մೳ w ͦͷଞʹ4FMFDUPS"UPN4FMFDUPSΛα ϙʔτ͢ΔͨΊͷ"1*͕͋Δ -
3FDPJM֓ཁ·ͱΊ w '$ʹͱ͍ͮͨ*OUFSGBDFͰ༻Ͱ͖Δ4UBUF.BOBHFNFOU-JCSBSZ w +PUBJͳͲͷӨڹΛड͚ͨ-JCSBSZଘࡏ w "UPN4FMFDUPSΛఆٛͯ͠ɺ)PPLͷΑ͏ʹݺͼग़͢͜ͱͰ༻Ͱ͖Δ w γϯϓϧ w
ߋ৽͞Εͨ$PNQPOFOUͷΈ࠶ඳը͞ΕΔ w ۩ମతͳ༻ํ๏%PDVNFOUΛ͝ࢀরԼ͍͞ -
$POUSPMMFE$PNQPOFOUT w ࣗͰঢ়ଶΛอ࣋͢Δ$PNQPOFOUT w 3FBDUJOQVU UFYUBSFB TFMFDUͳͲ w 3FBDU/BUJWF5FYU*OQVU 4XJUDIͳͲ
w 3FBDU/BUJWFͷ$POUSPMMFE$PNQPOFOUͷ4UBUFͱͯ͠3FDPJMͷ4UBUFΛ༻ ͢Δͱɺෆ߹͕ൃੜ͢Δ IUUQTSFBDUKTPSHEPDTGPSNTIUNMDPOUSPMMFEDPNQPOFOUT -
ྫ5FYU*OQVU VTF4UBUFΛ༻͢Δ const Content: React.FC = () => { const
[text, setText] = useState<string>(''); return ( <TextInput value={text} onChange={(event) => { setText(event.nativeEvent.text) }} /> ) } -
ྫ5FYU*OQVU 3FDPJM4UBUFΛ༻͢Δ const TextState = atom({key: 'Text', default: ‘'}); const
Content: React.FC = () => { const [text, setText] = useRecoilState<string>(TextState); return ( <TextInput value={text} onChange={(event) => { setText(event.nativeEvent.text) }} /> ) } -
ݪҼ w ͓ͦΒ͘ TFU3FDPJM4UBUF෦Ͱඇಉظॲ ཧ͕͍ͬͯΔ w ͓ͦΒ͘ 5FYU*OQVUಉظతʹ͕ߋ৽ ͞ΕΔ͜ͱΛલఏʹ$PNQPOFOU͕࡞ΒΕ ͍ͯΔ
w Ұॠ͚ͩWBMVF͕ݩͷʹΔͨΊɺ͜ ͷΑ͏ͳࣄ͕ى͖Δ w 3FDPJMΛ༻͠ͳͯ͘ɺӈͷΑ͏ͳίʔ υͩͱTFU3FDPJM4UBUFͱಉ݁͡ՌʹͳΔ const Content: React.FC = () => { const [text, setText] = useState<string>(''); return ( <TextInput value={text} onChange={(event) => { const text = event.nativeEvent.text; setTimeout(() => { setText(text) }, 0) }} style={styles.sectionContainer} /> ) } -
ରࡦ w جຊతʹɺը໘ͷΈͰߋ৽͞Ε ͨΛ༻͢Δ߹ʹɺ3FDPJMͷ 4UBUFΛ༻ͤͣɺTFU4UBUFΛ༻͍ Δ w Ͳ͏ͯ͠3FDPJMΛ͍͍ͨ߹ ɺVTF4UBUFͰҰ࣌తʹΛߋ৽͢ Δ͜ͱͰճආͰ͖Δ
const TextState = atom({key: 'Text', default: ''}); const Content: React.FC = () => { const [text, setText] = useState<string>(''); const setGlobalText = useSetRecoilState(TextState); useEffect(() => { setGlobalText(text); }, [text]) return ( <TextInput value={text} onChange={(event) => { const text = event.nativeEvent.text; setText(text) }} style={styles.sectionContainer} /> ) } -
.FNPSZ-FBL w ͍͔ͭ͘*TTVFT͕͕͍͋ͬͯΔ w IUUQTHJUIVCDPNGBDFCPPLFYQFSJNFOUBM3FDPJMJTTVFT w IUUQTHJUIVCDPNGBDFCPPLFYQFSJNFOUBM3FDPJMJTTVFT w IUUQTHJUIVCDPNGBDFCPPLFYQFSJNFOUBM3FDPJMJTTVFT w
IUUQTHJUIVCDPNGBDFCPPLFYQFSJNFOUBM3FDPJMJTTVFT w BUPN'BNJMZTFMFDUPS'BNJMZͳͲͷ"1*Λ༻͢Δͱى͖Δʁ w ͜ͷෆ۩߹Λཧ༝ʹ+PUBJΛ༻͍ͯ͠Δͱ͍͏ίϝϯτݟ͔ͭͬͨ -
·ͱΊ w 3FDPJMͱ͍͍ͯ͢ w "UPN4FMFDUPSΛ༻͢Δ͜ͱͰɺ(MPCBMͳ4UBUFΛVTF4UBUFͱಉ͡ײ֮Ͱ༻Ͱ͖Δ w ॊೈ͗͢ΔͷͰɺνʔϜ։ൃͰ࣮ࡍʹར༻͢Δࡍʹ༻ํ๏Λݕ౼ͨ͠΄͏͕ྑͦ͞͏ w 3FBDU/BUJWFڥԼͰͳ͘༻Ͱ͖͍ͯΔ w
-JCSBSZͱͯ͠&YQFSJNFOUBMͳҐஔ͚ w ͍͔ͭ͘ͷ՝ w 3FBDU/BUJWFͷ$PNQPOFOUͱซ༻͢Δ͜ͱͰى͖Δ*TTVF w ಛఆڥ༻ํ๏Ͱى͖Δ*TTVF -
ॴײ w 3FBDUͷΤίγεςϜૉΒ͍͠ w 4UBUF.BOBHFNFOU-JCSBSZͷબࢶ͕ଟ͍ w બࢶ͕ଟ͗ͯ͢ɺ໎͏͜ͱଟ͍ w 3FDPJMҎ֎ͷ4UBUF.BOBHFNFOU-JCSBSZʹֶ͍ͭͯͼ͍ͨ w
ঢ়گʹԠͯ͡બఆͰ͖ΔΑ͏ɺ༷ʑͳ-JCSBSZͷ࣮༻ྫΛֶͼ͍ͨ