Skip to content

MadaShindeInai/React-Hooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Based on https://overreacted.io/a-complete-guide-to-useeffect/ . If you still got questions - check a link to get answers.

Lecture Text: МСня Π·ΠΎΠ²ΡƒΡ‚ Π‘Π΅Ρ€Π³Π΅ΠΉ. БСгодня ΠΌΠΎΠΉ Π΄Π΅Π±ΡŽΡ‚ Π² Ρ€ΠΎΠ»ΠΈ Π»Π΅ΠΊΡ‚ΠΎΡ€Π°. Π’.ΠΊ. Ρ‚Π΅ΠΌΠ° ΠΎΠ±ΡŠΡ‘ΠΌΠ½Π°Ρ ΠΈ слоТная, Π° Ρƒ мСня с Π²Π°ΠΌΠΈ сСгодня ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΡˆΡƒ прощСния Π·Π° Π·Π°ΠΌΠΈΠ½ΠΊΠΈ. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡƒΠΆΠ΅ написаны ΠΌΠ½ΠΎΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅, я Π±ΡƒΠ΄Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ°ΠΌ. Код Π±ΡƒΠ΄Π΅Ρ‚ доступСн послС Π»Π΅ΠΊΡ†ΠΈΠΈ, тСкст Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΎΠΆΠ΅. И запись Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ. Если я Π±ΡƒΠ΄Ρƒ с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΏΠΎΠ΄Π²ΠΈΡΠ°Ρ‚ΡŒ - Π² это врСмя ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои вопросы. Π­Ρ‚ΠΈΠΌ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ пятничным Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ с Π²Π°ΠΌΠΈ вмСстС Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ (я Π΄ΡƒΠΌΠ°ΡŽ Π²Ρ‹ прСкрасно ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ сами) , Π° Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. ΠŸΠΎΠΏΡ‹Ρ‚Π°Π΅ΠΌΡΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ отличия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΎΡ‚ классового, ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ основныС Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ошибки. Насладимся Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Ρ…ΡƒΠΊΠΎΠ².

  1. useState НавСрноС самый простой Ρ…ΡƒΠΊ, ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ понятна, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Π’ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ…ΡƒΠΊΠ° ΠΌΡ‹ ΠΊΠ»Π°Π΄Ρ‘ΠΌ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π₯ΡƒΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ константу с этим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Π΅Π΅ пСрСзаписи. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’Β ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚Β ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β setState, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ в классовых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…,Β useStateΒ Π½Π΅Β ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ обновлСния автоматичСски. (Π’ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

Π’Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ спрСд ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. О Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π°Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ тайпскрипт (ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π΅Π³ΠΎ использованиС вмСсто Js. ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ошибок, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π·Π° вас. На ΡŽΡ‚ΡŒΡŽΠ±Π΅ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ€ΠΎΠ»ΠΈΠΊΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… часа 2-3 Π³Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказываСтся ΠΎΠ± ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ тайпскрипта Π² Ρ€Π΅Π°ΠΊΡ‚).Ну Π° Π²ΠΎΠΎΠ±Ρ‰Π΅, Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ситуаций ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ useState для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ useReducer (Π½Π΅Ρ‚).

Π§Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ счСтчика ). Нас интСрСсуСт строка

Counter value: {count}

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅Β countΒ β€” это просто число. Π­Ρ‚ΠΎ Π½Π΅ «привязка Π΄Π°Π½Π½Ρ‹Ρ…Β», Π½Π΅ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒΒ» ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ β€” число, Π²Ρ€ΠΎΠ΄Π΅ этого const count = 43;

React Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ обновляСм состояниС. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ каТдая опСрация Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Β«Π²ΠΈΠ΄ΠΈΡ‚Β» собствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ состояния counter, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, являСтся константой. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ, строка просто встраиваСт числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π΅. Π­Ρ‚ΠΎ число прСдоставляСтся срСдствами React.Β  Π“Π»Π°Π²Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΒ count являСтся константой Π²Π½ΡƒΡ‚Ρ€ΠΈ любого ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€Π° ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ мСняСтся. Π’.Π΅. мСняСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся снова ΠΈ снова. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ Β«Π²ΠΈΠ΄ΠΈΡ‚Β» собствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β count, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ оказываСтся ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. (Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с setTimeout). Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€Π° ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий. По сути, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ свой count. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€Π° свойства ΠΈ состояниС всСгда ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅. Π’ΠΎ ΠΆΠ΅ самоС происходит ΠΈ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий). Они Ρ‚ΠΎΠΆΠ΅ Β«ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚Β» ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€Π°ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°ΠΆΠ΅ асинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий Π±ΡƒΠ΄ΡƒΡ‚ Β«Π²ΠΈΠ΄Π΅Ρ‚ΡŒΒ» Ρ‚Π΅ ΠΆΠ΅ самыС значСния count.

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°ΠΊΡ‚ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ измСнСния стэйта Π² ΠΎΠ΄ΠΈΠ½, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ использовав синтаксис Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ)

  1. useEffect

About

React-Hooks lecture materials.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •