0:00
So guys, рдЬреИрд╕реЗ рдХрд┐ рд╣рдо рд▓реЛрдЧреЛрдВ рдиреЗ рдмрд╛рдд рдХрд░реА рдереА рдХрд┐ рд╣рдо рдкреВрд░реА рдХреА рдкреВрд░реА application рдХреЛ hooks рдФрд░ рдЙрд╕реЗ рдХреЗ рд╕рд╛рде рд╕рд╛рде function based component рдореЗрдВ refactor рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ, рддреЛ рдпрд╣реА рдХрд╛рдо рд╣рдо рд▓реЛрдЧ рдпрд╣рд╛рдБ рдкрд░ рдХрд░реЗрдВрдЧреЗ, рдПрдХ comment рдореБрдЭреЗ рдЖрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдХрд┐ рдпрд╣ рдмрддрд╛рдпреЗ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпрд╛рд░ рдореИрдВ рдЬрдм рдпрд╣ 192 рд╡рд╛рд▓рд╛ link рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдБ рддреЛ рдореЗрд░реА application рдирд╣реАрдВ рдЪрд▓ рд░я┐╜я┐╜
0:30
рдпрд╣реА local host рд╕реЗ development рд╣рдо рдХрд░реЗрдВрдЧреЗ рдпрд╣ рдЬреЛ app рд╣реИ рд╡реЛ рдореИрдВрдиреЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ primarily
0:34
react рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рд╣реИ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрдИ рджреВрд╕рд░реА API рд╢рд╛рдпрдж рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╡реЛ use рдХрд░ рд╕рдХрддреЗ рд╣я┐╜я┐╜
0:38
рдФрд░ рдЗрд╕рд╕реЗ similar рдХреЛрдИ рджреВрд╕рд░реА app рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реЛ рддреЛ рддреЛ рдпрд╣ рдмрд╛рдд рдЬреЛ рд╣реИ рдЖрдк рд▓реЛрдЧреЛрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реИ рддреЛ рдЖрдк рдЕрдЧрд▓реЗ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЖрдкрдХреЛ рдпрд╣ рд╡рд╛рд▓рд╛ 192 рд╡рд╛рд▓рд╛ рд▓рд┐рдВя┐╜я┐╜
0:46
рдпреВрдЬ рдХрд░рдиреЗ рдореЗрдВ рд░рд╣рд╛ рд░рд╣рд╛ рд╣реИ рдЕрдм рд╣рдо рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рдпрд╣рд╛рдВ рдкрд░ рдЪреЗрдВрдЬ рдХрд░реЗрдВрдЧреЗ рдЕрдкрдиреЗ рд╕рд╛рд░реЗ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рдФя┐╜я┐╜
0:51
class based component рд╕реЗ function based component рдмрдирд╛рдПрдВрдЧреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛрдЧя┐╜я┐╜
0:56
refactor рдХрд░рдирд╛ navbar.js рд╡рд╛рд▓реЗ component рдХреЛ рдЕрдЪреНрдЫрд╛ рдЙрд╕рд╕реЗ рднреА рдкрд╣рд▓реЗ рдПрдХ рдмрд╛я┐╜я┐╜
1:00
рдмреЛрд▓рдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдпреЗ рдкреВрдЫ рд░рд╣реЗ рдереЗ рдХрд┐ рдХреНрдпрд╛ рдЖрдзреЗ components
1:04
class based рдФрд░ рдХреБрдЫ components function based рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ react application рдореЗя┐╜я┐╜
1:08
рддреЛ рдЬрд╡рд╛рдм рд╣реИ yes рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдкрдХреА part of react application function based component рд╣реЛ рд╕рдХрддреА рд╣я┐╜я┐╜
1:14
рдФрд░ part of application рдЖрдкрдХреА рдпрд╣рд╛рдБ рдкрд░ class based component рд╣реЛ рд╕рдХрддреА рд╣я┐╜я┐╜
1:19
рддреЛ class based component рдХреЛ function based component рдореЗрдВ convert рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рдпрд╣ рдЬреЛ class рд▓рд┐рдЦреЗ рд╣реБрдИ рд╣реИ рдЗрд╕рдХреЛ рдПрдХ function рдордирд╛рдКрдВрдЧя┐╜я┐╜
1:25
рддреЛ рдореИрдВ рдЖрдкрдХрд╛ рд▓рд┐рдЦреВрдБрдЧрд╛ const navbar is equal to рдПрдХ arrow function рдареАрдХ рд╣я┐╜я┐╜
1:32
рдФрд░ рдЬреЛ arrow function рд╣реИ рдпрд╣ рдХреНрдпрд╛ рд▓реЗрдЧрд╛ рдпрд╣ prop рд▓реЗрдЧрд╛ рдареАрдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЬрд╣рд╛рдБ рдЬрд╣рд╛рдБ рдореИрдВрдиреЗ this.props рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣я┐╜я┐╜
1:38
рдХреНрдпрд╛ рдореИрдВрдиреЗ рдХрд╣реАрдВ this.props рд▓рд┐рдЦрд╛ рд╣реИ рдирд╣реАрдВ рдпрд╣рд╛рдБ рдЗрд╕рдХреЛ рдХреЛрдИ props receive рднреА рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИ actually
1:42
рддреЛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддреЛ рдореЗрд░реЗ рд▓рд┐рдП navbar.js query factor рдХрд░рдирд╛ рд╣реА рд╣реИ рддреЛ рдпрд╣ рдЬреЛ render sorry render function рд╣я┐╜я┐╜
1:48
рдпрд╣рд╛рдБ рдкрд░ start рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣рд╛рдБ рдкрд░ рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдХреЛ рдЕрдЯрд╛рдУрдВрдЧя┐╜я┐╜
1:52
рдФрд░ рдЗрд╕рдХреЛ рднреА рдЕрдЯрд╛рдУрдВрдЧрд╛ рддреЛ рдореИрдВрдиреЗ render рдХрд╛ opening bracket рдФрд░ closing bracket рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣я┐╜я┐╜
1:58
рддреЛ рдЕрдм рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣рд╛рдБ рдкрд░ рдХрд┐ рдореЗрд░рд╛ рдПрдХ function рд╣реИ рдЬреЛ рдХрд┐ рдпрд╣ рдЪреАрдЬрд╝ return рдХрд░ рд░рд╣рд╛ рд╣я┐╜я┐╜
2:02
рдкреНрд░реЙрдкреНрд╕ рдореЗрдВ рдпреВрдЬ рдХрд░ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ рдЙрд╕рд▓рд┐рдП рдкреНрд░реЙрдкреНрд╕ рднреА рдЕрдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдБ рдореИрдВ рдореИрдВрдиреЗ рд╕реЗрд╡ рдХрд░ рджрд┐рдпя┐╜я┐╜
2:06
рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦреЛ application рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧя┐╜я┐╜
2:11
рдпрд╣ рд╣рдорд╛рд░рд╛ рдЬреЛ рд╣реИ function based component рдмрди рдЪреБрдХрд╛ рд╣реИ рдпрд╣реА рдХрд╛рдо рдЕрдм рд╣рдордХреЛ рдХрд░рдирд╛ рд╣я┐╜я┐╜
2:17
рдмрд╛рдХреА рд╕рд╛рд░реЗ components рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдЬреЛ рдлрд╛рд▓реНрджреВ spaces рд╣я┐╜я┐╜
2:21
рдпрд╣ рдореИрдВ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореИрдВ рдЕрдкрдиреЗ component рдХреЛ рдереЛрдбрд╝рд╛ рдЕрдЪреНрдЫреЗ рд╕реЗ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВя┐╜я┐╜
2:25
looks good рддреЛ navbar.js рдХрд╛ рдХрд╛рдо рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рдЕрдЪреНрдЫрд╛ by the way рд╣рдорд╛рд░реЗ рдмрд╛рд╕ рдХрд┐рддрдиреЗ components рд╣я┐╜я┐╜
2:31
рдПрдХ, рджреЛ, рддреАрди, рдЪрд╛рд░ components рд╣реИ рдХреНрдпрд╛ spinner.js рд╣реИ class based component рд╣я┐╜я┐╜
2:34
рд╣рд╛рдВ, spinner.js рдПрдХ class based component рд╣реИ, рд╕рдмрд╕реЗ рдЖрд╕рд╛рди target рдореБрдЭреЗ navbar.js рд▓рдЧрд╛
2:41
second рдЖрд╕рд╛рди target рдЕрдЧрд░ рдореИрдВ рдХрд╣реВрдБ рддреЛ рдореБрдЭреЗ spinner.js рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЛ рдореИрдВ рдмрдбрд╝реЗ рдкреНрдпрд╛рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдБ
2:45
function based component, рдпрд╣реА рдХрд╛рдо рдХрд░реВрдБрдЧрд╛, render рдпрд╣рд╛рдВ рдЦреБрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдВ рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдмрдВрдж рдХреЛ рдкрд╣рд▓реЗ рдЕрдЯрд╛рдКрдВрдЧрд╛
2:50
рдкрд░ рдпрд╣ рдЦреБрд▓рд╛ рд╣реБрдЖ рддреЛ рджрд┐рдЦреА рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХреЛ рд╣рдЯрд╛ рджреВрдВрдЧрд╛ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рд▓рд┐рдЦ рджреВрдВрдЧрд╛ рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдкрд┐рдирд░ рдЗрдЬ рдЗрдХреНрд╡рд▓ рдЯя┐╜я┐╜
2:57
рдХреНрдпрд╛ рдПрдХ рдПрд░реЛ рдлрдВрдХреНрд╢рди рдФрд░ рдпрд╣ рдЬреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рд▓рд╛рд╕реНрдЯ рдЗрд╕рдХреЛ рдореИрдВ рдХреЙрдиреНрд╕реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдкрд┐рдирд░ рдЗрдЬ рдЗрдХреНрд╡рд▓ рдЯреВ рдПя┐╜я┐╜
3:03
рдлрдВрдХреНрд╢рди рдФрд░ рд╕реНрдкрд┐рдирд░ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦреЛ рдПрдкреНрд▓реАрдХреЗрд╢рди рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЪрд▓ рд░рд╣реА рд╣я┐╜я┐╜
3:07
рд╣реЗрд▓реНрде рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реВрдВрдЧреЗ рд╕реНрдкрд┐рдирд░ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЧреБрдо рд░рд╣рд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ рдиреАрдЪреЗ рдпрд╣рд╛рдБ рдкрд░ рд╕реНрдЯреНрд░реЙрд▓ рдХрд░реВрдВрдЧ formula рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдпрд╣рд╛рдВ рдкрд░ рдХрднреА-рдХрднреА рдПрдкрд┐рдПрдИ рдЬреЛ рд╣реИ рдХреБрдЫ-рдХреБрдЫ рдЗрдореЗрдЬреЗрдЬ рдРрд╕реЗ рднреЗрдЬ рджрд┐рдпрд╛ рдЬреЛ рдХя┐╜я┐╜
3:26
рдЕрдХреНрд╕реЗрд╕рдмрд▓ рдирд╣реАрдВ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдпрд╣ рд▓реЛрдЧ рд╢рд╛рдпрдж рдПрдкрд┐рдПрдИ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реЛ рдмреИрдХ рдПрдВрдб рдореЗрдВ рдЬреЛ рднреА рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реВя┐╜я┐╜
3:31
рдкреАрдЖрдИ рдХреЛ organizes рдЕрдм рдХреБрдЫ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдореИрдВрдиреЗ рд╕реНрдкреЗрдирд░ рдХреЛ рднреА рдмрдирд╛ рджрд┐рдпрд╛ рдлрдВрдХреНрд╢рди рд╡реЗрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рджреЛ рд╣рдордия┐╜я┐╜
3:38
рдмрдбрд╝реЗ рдЖрд░рд╛рдо рд╕реЗ рдмрдирд╛ рджрд┐рдП рдЕрдкрдиреЗ рдлрдВрдХреНрд╢рди рд╡реЗрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреБрд▓ рдорд┐рд▓рд╛рдЧрд░ рдХрд┐рддрдиреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реЗ 1234 рдирд╣реАрдВ рдкрд╛рдВрдЪ рдХрдВрдкреЛрдиреЗрдВя┐╜я┐╜
3:44
рдбреЛрдЯ рдЬреЗрд╕ рдмреАрдП рдХрдорд╛рд░рд╛, рдЙрд╕рдХреЛ рднреА рд╣рдореЗрдВ рдПрдХ function based component рдмрдирд╛рдирд╛ рд╣реИ
3:48
рддреЛ 5 рдореЗрдВ рд╕реЗ рдореИрдВ рдХрд╣реВрдБрдЧрд╛, рд╣рдордиреЗ рджреЛ components рддреЛ рдмрдбрд╝реЗ рдЖрд░рд╛рдо рд╕я┐╜я┐╜
3:52
рдмрд┐рд▓реНрдХреБрд▓ рдордХреНрдЦрди рдХреА рддрд░рд╣ рдХрд░ рджрд┐рдпреЗ convert function based component рдореЗрдВ, рд▓реЗрдХрд┐я┐╜я┐╜
3:56
рдЕрднреА 5 рдореЗрдВ рд╕реЗ 3 рдмрдЪреЗ рд╣реИ, рддреЛ рдЗрди 3 components рдХрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓я┐╜я┐╜
4:00
News item рдХреА рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдБ рдореЗрд░реЗ рдЬрд╛рд╡рд╕реЗ News item рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд░рд╣реЗрдЧрд╛ side effects Component did mount News News item Component did component mount news but news item component mount
4:16
рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рде рд╣рдо constructor рдХрд╛ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпреЗ рд╕рд╛рд░реЗ Under рдХрд╛рдо рдХрд┐рдпреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИя┐╜я┐╜
4:20
рддреЛ рд╣рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЕрдм рдЬреЛ NewsItem.js рд╣реИ рдЙрд╕рдХреЛ рд╣рдореЗрдВ Convert рдХрд░рдирд╛ рд╣я┐╜я┐╜
4:28
Function Based Component рдореЗрдВ рддреЛ рд╡рд╣реА рдХрд╛рдо рдХрд░реВрдБрдЧрд╛ const рдХрд░ рджреВрдБрдЧрд╛ рдпрд╣рд╛рдБ рдкя┐╜я┐╜
4:32
рдФрд░ рдпреЗ is equal to рдПрдХ arrow function is equal to рдПрдХ arrow function рдареАрдХ рд╣я┐╜я┐╜
4:36
рд░реЗрдВрдбрд░ рдХрд╛ рдмреНрд░реИрдХреЗрдЯ рдпрд╣рд╛рдБ рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХреЛ рдЕрдЯрд╛рдУрдВрдЧрд╛ рдХреНрд▓реЛрдЬрд┐рдВрдЧ рдмреНрд░реИрдХреЗрдЯ рдФрд░ рдЗрд╕рдХреЛ рдРрд╕реЗ рдЕрдЯрд╛ рджреВрдВрдЧрд╛ рдареАрдХ рд╣реИ рдЬреЛ рджрд┐рд╕ рдбреЙрдЯ рдкреНрд░реЙрдкреНрд╕ рдерд╛ рд╡рд╣ рдкреНрд░реЙрдкреНрд╕ рд╣реИ рдореИрдВрдия┐╜я┐╜
4:44
рдбреАрд╕реНрдЯреНрд░рдХреНрдЪрд░ рдирд╣реАрдВ рдХрд░реА рдереА рдФрд░ рдпрд╣рд╛рдВ рдкрд░ рдореИрдВ рдкреНрд░реЙрдкреНрд╕ рд▓рд┐рдЦреВрдВрдЧрд╛ рдФрд░ рдпрд╣ рджрд┐рд╕ рдбреЙрдЯ рдЕрдЯрд╛ рджреВрдВрдЧрд╛ рдХреНрдпрд╛ рдХрд╣реАрдВ рдФрд░ рдореИрдВ рдЗрд╕рдХя┐╜я┐╜
4:50
рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдирд╣реАрдВ рдпрд╛рд░ рдореИрдВ рдХрдИ рдФрд░ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХя┐╜я┐╜
4:56
рдореБрдЭреЗ рдЪреЗрдВрдЬ рдХрд░рдирд╛ рд╣реИ рд╣рд╛рдВ рдореИрдВ рдпрд╣ рдЬреЛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдЖрдк рдЗрд╕рдХреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдареАрдХ рд╣реИ рдЗрдВрдкреЛрд░реНрдЯ рд░рд┐рдпрд╛рдЯ рддя┐╜я┐╜
5:01
рдХрд░реЗрдВ рдпрд╣рд╛рдВ рдкрд░ рдЬреЛ рд╣реИ рдореИрдВ рдЗрд╕рдХреЛ рд╕реЗрд╡ рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдЬреИрд╕реЗ рдореИрдВ рдЗрд╕рдХреЛ рд╕реЗрд╡ рдХрд░реВрдВрдЧрд╛ рдЖрдк рд▓реЛрдЧ рдпрд╣рд╛рдВ рдкрд░ рджреЗрдЦреЛ рдореЗрд░я┐╜я┐╜
5:08
рдПрдкреНрд▓реАрдХреЗрд╢рди рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╕реЗ рдЪрд▓реЗрдЧреА рдЪрд▓рдиреА рддреЛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЪрд▓ рднреА рд░рд╣реА рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдпрд╣ рдЦрдмрд░реЗ рд╡рдЧреИрд░рд╣ рдкрдбрд╝я┐╜я┐╜
5:15
рд▓рдЧрд╛рдП рдХрд░реЛ рдареАрдХ рд╣реИ рдПрдВрдбрд░рдЯреЗрдирдореЗрдВрдЯ рдХреА рдЦрдмрд░реЗрдВ рдкрдбрд╝реЛ рдЬреЛ рдЙрдирд╕реА рдордВрдЪрд╛ рд╣реИ рдЦрдмрд░реЗрдВ рдкрдбрд╝реЛ рдареАрдХ рд╣реИ рддреЛ рдЖрдИ рд╣реЛрдм рдХрд┐ рдпрд╣рд╛рдВ рдкя┐╜я┐╜
5:22
рдЖрдк рд▓реЛрдЧреЛрдВ рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдпрд╛ рдХреИрд╕реЗ рд╣рдордиреЗ рдиреНрдпреВрдЬ рдЖрдЗрдЯрдо рдбреЛрдЯ рдЬреАрдПрд╕ рдХреЛ рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд┐рдпрд╛ рдПрдХ рдлрдВрдХреНрд╢рди рд╡реЗрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗя┐╜я┐╜
5:27
рдЗрд╕рдХреЛ рднреА рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рдХрд╛рдЯреВрдВрдЧрд╛ рдЕрдм рдереЛрдбрд╝рд╛ рд╕рд╛ рдЪреИрд▓реЗрдВрдЬ рд╣реИ News.js рдХреЛ рд░реАрдлреИрдХреНрдЯрд░ рдХрд░рдирд╛ рдФрд░ App.js рдХреЛ рд░реАрдлреИрдХреНрдЯрд░ рдХрд░рдирд╛ рдПрдХ basic рд░реАрдлреИрдХреНрдЯрд░ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдХрд░рдХреЗ рджрд┐рдЦрд╛ рджрд┐рдпрд╛ рдЬреЛ рдХрд┐ рд╣рдордиреЗ рдХрд┐рдпрд╛ рдЕрдкрдиреЗ рдмрд╛рдЧреА News item рдФрд░ Spinner рдФрд░ Navbar components рдХреЛ рдпрд╣реА рдХрд╛рдо рдЕрдм рд╣рдореЗрдВ рдХрд░рдирд╛ рд╣реИ News.js рдХреЗ рд╕рд╛рде рдФрд░ App
5:57
рд▓рд┐рдЦрдирд╛ рд╣реИ рдкреНрд░реЙрдк рдЯрд╛рдЗрдкреНрд╕ рдФрд░ рдЖрдкрдХрд╛ рдбрд┐рдлреЙрд▓реНрдб рдкреНрд░реЙрдкреНрд╕ рддреЛ рдЖрдк рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ рдирдИ рдЯреИрдк рдЦреЛрд▓реЛрдЧреЗ рдФрд░ рдирдИ рдЯреИрдк рдореЗрдВ рдЖя┐╜я┐╜
6:04
рд▓рд┐рдЦреЛрдЧреЗ рдкреНрд░реЙрдк рдЯрд╛рдЗрдкреНрд╕ рдЗрди рдлрдВрдХреНрд╢рдирд▓ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдареАрдХ рд╣реИ рдФрд░ рдореИрдВ рд╕реНрдЯрд╛рд░реНрдЯ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╡реЗрд░реА рдЖрдкрдХреА рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рд╣я┐╜я┐╜
6:11
рд▓реВрдВрдЧрд╛ рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рд╕реАрдзрд╛ рдкреНрд░реЙрдк рдЯрд╛рдЗрдк рд╣реА рд▓рд┐рдЦ рджреВрдВрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдЖрдк рдпрд╣рд╛рдВ рдкрд░ рдХреЛрдИ рдирд╛ рдХреЛрдИ рдПрдХреНрд╕рд╛рдВрдкрд▓ рдорд┐я┐╜я┐╜
6:17
рдЬрд╛рдПрдЧрд╛ рддреЛ рдЧреНрд░реАрдЯрд┐рдВрдЧ рдПрдХ рдХреНрд▓рд╛рд╕ рд╣реИ рдкрд░ рдореБрдЭреЗ рдлрдВрдХреНрд╢рди рдЪрд╛рд╣рд┐рдП рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рдлрдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХя┐╜я┐╜
6:23
рдХреНрдпрд╛ рдореБрдЭреЗ рдХреЛрдИ рдРрд╕рд╛ function-based component рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХрд╛ usage рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧя┐╜я┐╜
6:28
рддреЛ рдореИрдВ function-based component рд░реВрдЯ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ function components рдореЗрдВ рдХреИрд╕реЗ prop types рдХреЛ use рдХрд░рдирд╛ рд╣я┐╜я┐╜
6:32
рддреЛ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рдЗрдиреНрд╣реЛрдВрдиреЗ рдмрддрд╛рдпрд╛ рд╣реБрдЖ рд╣реИ рдпрд╣ рдПрдХ function-based component рд╣реИ рдЗрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ function рдХрд╛ рдирд╛я┐╜я┐╜
6:36
dot prop types рдХрд░рдХреЗ same рдЪреАрдЬ рд▓рд┐рдЦреА рд╣реБрдИ рд╣реИ, рддреЛ рдореИрдВ рднреА рдпрд╣реА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ, function рдХрд╛ рдирд╛рдо
6:41
рдЬреЛ рдХрд┐ рд╣рдорд╛рд░рд╛ news рд╣реИ, рдЕрднреА рдореИрдВрдиреЗ рдЗрд╕рдХреЛ function рдореЗрдВ convert рдХрд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ
6:45
рдмрдЯ рдХрд░ рджреВрдБрдЧрд╛, function рдХрд╛ рдирд╛рдо dot prop types, рдареАрдХ рд╣реИ, рдФрд░ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рде
6:50
рджрд┐рдлрд▓реНрдб props рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдкреНрд░реЙрдк рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдПрдХ рдпрд╣ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рджреЛрдиреЛрдВ рдЪреАрдЬрд╝реЗрдВ рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рд╕реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпреЗрдВ, рдареАрдХ рд╣реИ, рдЕрдм рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рдореИрдВ, рдЕрдм рдпрд╣рд╛рдБ рдкрд░ рдореИрдВрдиреЗ рдПрдХ capitalized first character рдЗрд╕ class рдХрд╛ рдкрд╛рд░реНрдЯ рдмрдирд╛рдпрд╛ рдерд╛, рдмрдЯ рдЕрдм рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛, рдЗрд╕ function рдХреЗ рдЕрдВрджрд░ рд╣реА рдПрдХ function рдмрдирд╛ рджреВрдБрдЧрд╛, рдареАрдХ рд╣я┐╜я┐╜
7:22
рдмрдирд╛рддрд╛ рд╣реВрдВ рдЗрд╕рдХреЛ рдЕрдм рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рдореИрдВ рдЕрдм рдпрд╣рд╛рдВ рдкрд░ рдореИрдВ рдпреВрдЬ рдПрдлреЗрдХреНрдЯ рд╣реЛрдЧрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛ рдареАрдХ рд╣реИ рдпреВрдЬ рдПрдлреЗрдХреНрдЯ рдЕя┐╜я┐╜
7:31
рдпреВрдЬ рдЗрдлреЗрдХреНрдЯ рддреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рд╣реЛрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЗрдВрдкреЛрд░реНрдЯ рдпреВрдЬ рдЗрдлреЗрдХреНрдЯ рдлреНрд░реЙрдо рдбрд┐рд╡рд╛рдЗрдЯ рдХрд░рдирд╛ рд╣реИ рдореБрдЭреЗ рддреЛ рдореИрдВ рдпрд╣рд╛я┐╜я┐╜
7:38
рдХрд░ рд▓реЗрддрд╛ рд╣реИ рдХрдорд╛ рд▓рдЧрд╛рдХрд░ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдЗрд╕ рдирд┐рдкреЗрдб рднреА рдирд╣реАрдВ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рд┐рдП рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдЖ рдЧрдпрд╛ рдпрд╣ рдпреВрдЬ рдПрдлреЗрдХреНрдЯ рдлреНрд░реЙрдо рдбрд┐рдПрдХреНя┐╜я┐╜
7:44
рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛, рдпрд╣ рдЬреЛ рдореЗрд░рд╛ function component рдЗрд╕рдХреЗ рдЕрдВрджрд░ use effect рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдБрдЧрд╛
7:48
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рдпрд╣ рдЬреЛ constructor рд╣реИ, рдЗрд╕рдХреЛ рд╣рдЯрд╛рдКрдБрдЧрд╛, рдЬреЛ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП, рдпрд╣ constructor
7:52
рдореЗрд░рд╛ рдХрд╛рдо рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ class based component рдореЗрдВ рдирд╣реАрдВ рд╣реВрдБ, рдпрд╣ рдЬреЛ states рдореИрдВ use рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
7:56
рдЗрди рд╕рд╛рд░реА states рдХреЛ рдореИрдВ change рдХрд░реВрдБрдЧрд╛ use state рд╕реЗ рдареАрдХ рд╣я┐╜я┐╜
8:00
рдХрд┐рд╕ рд╕реЗ рдХрд░реВрдБрдЧрд╛ use state рд╕реЗ рддреЛ рдПрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд▓реНрджреА рд╕реЗ рдпрд╣рд╛рдБ рдкя┐╜я┐╜
8:03
рдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рдореИрдВ use state рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдБ рдареАрдХ рд╣я┐╜я┐╜
8:07
рдФрд░ рдореИрдВ рдпреЗ рдХрд╛рдо function рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдЦреВрдБрдЧрд╛ рддреЛ рдореБрдЭреЗ use effect рдХреЗ рд╕рд╛рде рд╕рд╛я┐╜я┐╜
8:45
рдпрд╣рд╛рдБ рдкрд░ use state рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдБрдЧрд╛, рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ page рдХреЗ рд▓рд┐рдП рдмрдирд╛рдКрдБрдЧрд╛
8:51
initial value 1, рдФрд░ рдпрд╣реА рдХрд╛рдо рдореИрдВ рд╡рд╛рдкрд╕ рд╕реЗ рдХрд░реВрдБрдЧрд╛, use state
8:58
total results, рдареАрдХ рд╣реИ, set total results, рдФрд░ total results default 0 рд╣реИ
9:05
рдареАрдХ рд╣реИ, рддреЛ рдпрд╣ state рддреЛ рдореИрдВрдиреЗ рдХрд░ рджреА, set, рдЗрд╕рдХреЛ рдореИрдВ рдорд┐рдЯрд╛ рджреВрдБрдЧрд╛, document рдХреЗ title рдХя┐╜я┐╜
9:09
hold рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ рдпрд╣ рдЗрддрдиреА important рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЗрд╕рдХреЛ рдЬрд╝рд░рд╛ hold рдкрд░ рд░рдЦрддреЗ рд╣реИя┐╜я┐╜
9:13
comment out рдореИрдВрдиреЗ рдЗрд╕рд▓рд┐рдП рдХрд░ рджрд┐рдпрд╛ рд╣реВрдБ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рдЖрдЙрдВрдЧрд╛ рд╡рд╛рдкрд╕ рдЕрднреА рдареАрдХ рд╣реИ capitalize first letter рдХреЛ рдЕрдм рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд▓реЗрдВрдЧя┐╜я┐╜
9:20
async update news рдЗрд╕рдХреЛ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝реЗрдЧрд╛ const update news is equal to
9:25
const update news рдЗрд╕ рдПрдХреНрд╡рд▓ рдЯреВ рдпрд╣ рдХреИрд╕реЗ рдлрдВрдХреНрд╢рди рд╣реИ рддреЛ рдореБрдЭреЗ рдпрд╣ рдлрдВрдХреНрд╢рди рдпрд╣рд╛рдВ рдкрд░ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрднреА рджреЗрдЦреЛ рдпрд╣ рдня┐╜я┐╜
9:34
рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рд╕реЗ рдареАрдХ рд╣реИ рд╕реЗрдЯ рджрд┐рд╕реНрдЯрд░ рд╕реЗрдЯ рд╕реНрдЯреЗрдЯ рдЬреЛ рдореИрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЙрд╕рдХреЛ рдореБрдЭреЗ рдЪреЗрдВрдЬ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдХрд┐рд╕ рдЪреАрдЬ рдореЗя┐╜я┐╜
9:40
рдореБрдЭреЗ рдпреЗ рдЬреЛ set loading set articles рд╣реИрдВ рдпреЗ рд╕рд╛рд░реЗ functions use рдХрд░рдиреЗ рдкрдбрд╝реЗрдВрдЧя┐╜я┐╜
9:45
рдареАрдХ рд╣реИ рддреЛ рдЗрд╕рдХреЛ рднреА рдХрд░реЗрдВрдЧреЗ рд╣рдо рд▓реЛрдЧ this.props рдХреЛ рдореБрдЭреЗ props рдореЗя┐╜я┐╜
9:49
change рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рддреЛ рдореИрдВ props рдореЗрдВ change рдХрд░реВрдБрдЧрд╛ рддреЛ рдЬрд╣рд╛рдВ рдЬрд╣рд╛рдВ this.props рдея┐╜я┐╜
9:53
рд╡рд╣рд╛рдВ props рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдареАрдХ рд╣реИ props.setprogress рдФрд░ рдЙрд╕реА рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдВ рдЬрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ props
10:01
рдЙрд╕рдХреЛ рдореИрдВ replace рдХрд░реВрдБрдЧрд╛ props рд╕реЗ рдареАрдХ рд╣реИ рдпреЗ рддреЛ рдореБрдЭреЗ рдпрд╛рдмрд░ рдХрд░рдирд╛ рд╣я┐╜я┐╜
10:05
replace all рдХрд░ рджреЗрддрд╛ рд╣реВрдБ рд╕рд╛рд░реЗ this.props рдореЗрд░реЗ props рд╣реЛ рдЧрдП рдареАрдХ рд╣я┐╜я┐╜
10:09
рдЕрдм рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рдпреЗ рдЬреЛ рдореЗрд░рд╛ set state рд╣реИ рдЗрд╕рдореЗрдВ рдореИрдВ рдпреЗ рд╕рд╛рд░я┐╜я┐╜
10:13
functions рдпреВрдЬрд╝ рдХрд░реВрдБрдЧрд╛ рддреЛ set articles рд╣реИ рд╣реИ рдореЗрд░реЗ рд╕реЗрдЯ рдЖрд░реНрдЯрд┐рдХрд▓реНрд╕ рдХреЛ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдбреЙрдЯ рдЖрд░реНрдЯрд┐рдХрд▓реНрд╕ рдареАрдХ рд╣реИ рдпрд╣ рдХрд░ рджреВрдВрдЧрд╛ рдЙрд╕реА рдХреЗ рд╕рд╛рде-рд╕рд╛я┐╜я┐╜
10:22
рдореИрдВ рд╕реЗрдЯ рдЯреЛрдЯрд▓ рд░рд┐рдЬрд▓реНрдЯреНрд╕ рдХрд░реВрдВрдЧрд╛ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рдореИрдВ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдбреЙрдЯ рдЯреЛрдЯрд▓ рд░рд┐рдЬрд▓реНрдЯреНрд╕ рдареАрдХ рд╣реИ рдЗрд╕реА рдХреЗ рд╕рд╛рде-рд╕рд╛я┐╜я┐╜
10:31
рд▓реЛрдбрд┐рдВрдЧ рдХрд░реВрдВрдЧрд╛ рдлреЙрд▓реНрд╕ рдареАрдХ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣рд╛рдВ рдкрд░ рд░рдЦ рджреЛ рдпрд╣ рдЬреЛ рдЪреАрдЬ рдореИрдВрдиреЗ рдХрд░реА рджрд┐рд╕ рдбреЙрдЯ рд╕реЗрдЯ рд╕реНрдЯреЗрдЯ рд╡рд╛рд▓реА рдЗрд╕рдХреЛ рдореИрдВрдия┐╜я┐╜
10:40
рд░рд┐рдкреНрд▓реЗрд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдЕрдкрдиреЗ рдЗрди рд╕реЗрдЯ рд╡рд╛рд▓реЗ рдЬреЛ рдлрдВрдХреНрд╢рди рдЬреЛ рдХрд┐ рдореЗрд░реЗ рдпреВрдЬ рд╕реНрдЯреЗрдЯ рд╡рд╛рд▓реЗ рдЬреЛ рдлрдВрдХреНрд╢рди рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рд▓реЗ рддреЛ рдореИрдВрдия┐╜я┐╜
10:46
рдкреЗрдЬ рдЕрднреА рддрдХ рдпреВрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдирд╣реАрдВ рдореИрдВрдиреЗ рд╕реЗрдЯ рдЯреВрдЯрд▓ рд░рд┐рдЬрд░реНрдЯреНрд╕ рдХрд░ рд▓рд┐рдпя┐╜я┐╜
10:51
рд╕реЗрдЯ рдкреЗрдЬ рдЕрднреА рддрдХ рдореИрдВрдиреЗ рдпреВрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ рд╣рдо рдХрд░реЗрдВрдЧреЗ рдЕрднреА рдареАрдХ рд╣реИ рддреЛ рдпреЗ рдХрд╛рдо рд╣рдордиреЗ рдХрд░ рджрд┐рдпя┐╜я┐╜
10:55
component did mount рдЬреЛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡реЛ рдореЗрд░рд╛ use effect рдХрд░реЗрдЧя┐╜я┐╜
10:59
рдареАрдХ рд╣реИ use effect рдХреИрд╕реЗ рдХрд░реЗрдЧрд╛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ use effect рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдБрдЧя┐╜я┐╜
11:03
clean up рдЕрднреА рдореИрдВ рдХреБрдЫ рдХрд░ рдирд╣реАрдВ рд░рд╣реВрдБ рдпрд╣ рдореЗрд░рд╛ effect рд╣реЛрдЧя┐╜я┐╜
11:07
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдореЗрд░рд╛ effect this.updateNews рдФрд░ рдореИрдВ рдХрд┐рд╕реА рдХреЛ listen рдирд╣реАрдВ рдХрд░реВрдБрдЧя┐╜я┐╜
11:11
рдпрд╣рд╛рдБ рдЬреЛ рдЬрд┐рд╕ input рдХреЛ рдореИрдВ listen рдХрд░рдирд╛ рдЪрд╛рддрд╛ рд╣реВрдБ рдпрд╣рд╛рдБ рдЬрд┐рд╕рдХреЗ change рдкрд░ рдпрд╣ effect run рд╣я┐╜я┐╜
11:16
рд╡реЛ рдЪреАрдЬ рд╣реЛрддреА рд╣реИ рдпрд╣ рдЗрд╕рдХреЛ рдореИрдВрдиреЗ рдПрдордЯреА рдЕрд░реЗ рджреЗ рджрд┐рдпрд╛ рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рд░ рд░рди рд╣реЛрдЧрд╛ рдареАрдХ рд╣реИ рджрд┐рд╕ рдбреЙрдЯ рдЕрдкрдбреЗрдЯ рдиреНрдпреВрд╕ рдареАрдХ рд╣реИ рдХрдВрдкреЛрдиреЗрдВрдЯ рд░рд┐рдб рдорд╛рдЙрдВрдЯ рдХреЛ рдореИрдВ рдЕрднреА рдпрд╣рд╛рдВ рд╕реЗ рдЕрдЯрд╛ рджреЗрддрд╛ рд╣реВрдБ рдареАрдХ рд╣реИ рдФрд░ рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рд╛рде рд╣рдо рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рд╣реИрдВрдбрд▓ рдкреНрд░реАрд╡рд┐рдпя┐╜я┐╜
11:46
рдиреЙрдЯ рдбрд┐рдлрд╛рдЗрди рд╣реИрдВрдбрд▓ рдкреНрд░реАрд╡рд┐рдпрд╕ рдХреНрд▓рд┐рдХ рдЗрд╕ рдиреЙрдЯ рдбрд┐рдлрд╛рдЗрди рд╣реИрдВрдбрд▓ рдиреЗрдХреНрд╕реНрдЯ рдХреНрд▓рд┐рдХ рдЗрд╕ рдиреЙрдЯ рдбрд┐рдлрд╛рдЗрди рдХрд┐ рд╕рд╛рд░реА рдХреЗ рд╕рд╛рд░реЗ рдПрд░рд░реНя┐╜я┐╜
11:51
рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ рдЗрди рдкрд░ рдХреЙрдВрд╕реНрдЯ рд▓рдЧрд╛рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЖрдкрдХреЛ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рддреЛ рдХреНрд▓рд╛рд╕ рдХреЗ рдкрд╛рд░реНрдЯ рдереЗ рдЕрдм рдпрд╣ рд▓рд╛рд╕реНя┐╜я┐╜
11:58
рдирд╣реАрдВ рд╣реИ рдареАрдХ рд╣реИ рдХреЙрд▓реНрд╕ рдЕрдкрдбреЗрдЯ рдиреНрдпреВрдЬ рдХрд░ рджрд┐рдпрд╛ рдЗрд╕рдХреЛ рднреА рдореИрдВ рдХреЙрд▓реНрд╕ рдХреИрдкрд┐рдЯрд▓рд╛рдЗрдЬ рдлрд░реНрд╕реНрдЯ рд▓реЗрдЯрд░ рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдЬрд╣рд╛я┐╜я┐╜
12:04
рдЬрд╣рд╛рдВ рджрд┐рд╕ рдбреЙрдЯ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ рднреА рдЬрд╣рд╛рдВ рдЬрд╣рд╛рдВ рджрд┐рд╕ рдбреЙрдЯ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рдЙрд╕рдХреЛ рдореИрдВ рдЕрднреА рджреЛ рджрд┐рд╕ рдбреЙрдЯ рд╕реЗ рдбреЙрдЯ рдкреЗрдЬ рд▓рд┐рдЦя┐╜я┐╜
12:37
рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рджрд┐рд╕реНрдЯ рдкреНрд▓реЗрдЯ рдиреНрдпреВрдЬ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рде рдпрд╣ рдЬреЛ рд╕реЗрдЯ рд╕реНрдЯреЗрдЯ рд╣реИ рдореБрдЭреЗ рд╕реЗрдЯ рдкреЗя┐╜я┐╜
12:44
рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЗрд╕рдХреЛ рдареАрдХ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдкреЗрдЬ рдкреНрд▓рд╕ рд╡рди рдареАрдХ рд╣реИ рдЬреЛ рднреА рдкреЗрдЬ рдХреА рд╡реИрд▓реНрдпреВ рд╣реИ рд╕реЗрдЯ рдкреЗя┐╜я┐╜
12:51
рдкреЗрдЬ рдкреНрд▓рд╕ рдлрди рдареАрдХ рд╣реИ рддреЛ рдкреЗрдЬ рд╣рдорд╛рд░реА рд╕реНрдЯреЗрдЯ рдХрд╛ рдкрд╛рд░реНрдЯ рд╣реИ рддреЛ рдЗрд╕рдХреЛ рдореИрдВрдиреЗ рдЪреЗрдВрдЬ рдХрд░ рджрд┐рдпрд╛ рдЗрд╕рдореЗрдВ рд╕реЗрдЯ рдкреЗрдЬ рдкреЗя┐╜я┐╜
12:58
рдкреНрд▓рд╕ рдлрди рдФрд░ рдпрд╣рд╛рдВ рдкрд░ рдкреЗрдЬ рдорд╛рдЗрдирд╕ рдлрди рдареАрдХ рд╣реИ рдпрд╣рд╛рдВ рдкрд░ рд╕реЗрдЯ рдкреЗрдЬ рдкреЗрдЬ рдорд╛рдЗрдирд╕ рдлрди рдмрд╛рдп рджреЗрд╡рд░ рдореБрдЭреЗ рд╣реИрдВрдбрд▓ рдкреНрд░реАрд╡рд┐рдпрд╕ рд▓реЗрдХя┐╜я┐╜
13:05
рдЕрдм рдЗрд╕ рд▓рд┐рдП рдЕрднреА рдЪрд╛рд╣рд┐рдП рднреА рдирд╣реАрдВ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рдореИрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдмрдЯ рдЕрдЧреЗрди рдореИрдВ рдЗрд╕рдХреЛ рдЬрд┐рд╕ рд░рд┐рдкреИрдХреНрдЯя┐╜я┐╜
13:11
рдХрд░ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рджрд┐рд╕ рдЯреЙрдЯ рдХреЗ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ рдЕрднреА рднреА 12 рдЬрдЧрд╣ рджрд┐рд╕ рдЯреЙрдЯ рдореМрдЬреВрдж рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдмрдЯ рджрд┐рд╕ рдЯреЙрдЯ рд╕реНрдЯреЗя┐╜я┐╜
13:17
articles рдХреА рдЬрдЧрд╣ рд╕рд┐рд░реНрдл articles рдХрд░рдирд╛ рд╣реИ рдореИрдВ articles.com cat рдФрд░ рд╣рдореЗрдВ set articles use рдХрд░рдирд╛ рд╣реИ рдареАрдХ рд╣я┐╜я┐╜
13:23
set articles рдХреНрдпрд╛ рдХрд░ рджреЗрдирд╛ рд╣реИ articles.com cat рдпреЗ рддреЛ рдпрд╛рд░ рджреЗрдЦреЛ рдореЗрд╣рдирдд рддреЛ рд╣реИ рдпрд╛рд░ рдареАрдХ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рдЗрд▓ рд▓реЛрдЧреЛрдВ рднреА рдпреЗ рд╡реАрдбрд┐рдпреЛ рднреА boring рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдпрд╛рд░ рдореИрдВ рдмреИрдардХреЗ рдПрдХ рдПрдХ рдХрд░рдХреЗ рд╕рдм рдХреЛ change рдХрд░ рд░рд╣рд╛ рд╣реВя┐╜я┐╜
13:33
рддреЛ рдпрд╛рд░ рджреЗрдЦреЛ рдХрд░рдирд╛ рддреЛ рдкрдбрд╝реЗрдЧрд╛ рдареАрдХ рд╣реИ рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХреЛ рдлрдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕ рдХрдВрдкрдиреЗрдВрдЯ рдореЗрдВ рдмрдирд╛рдирд╛ рд╣реИ рддреЛ рдФрд░ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ this.setstate рд╡рд╛рд▓реА calls рд╣реИ рдЙрдирдХреЛ replace рдХрд░ рджреЗрдирд╛ рд╣реВрдБ setarticles set total results рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдЖрдкрдХреЛ explain рдХрд┐рдпрд╛ рдерд╛ use state hook рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдореИрдВ рдареАрдХ рд╣реИ рдЕрднреА рднреА this.just 10 я┐╜я┐╜
14:03
рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП articles рдореЗрдВ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рде рд▓реЛрдбрд┐рдВрдЧ рдореЗрдВ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП рдареАрдХ рд╣реИ рддреЛ рдЬрд╣рд╛рдВ рдЬрд╣рд╛я┐╜я┐╜
14:09
рдпрд╣ рджрд┐рд╕реНрдЯ рдФрд░ рд╕реНрдЯреЗрдЯ рдбреЙрдЯ рдпреВрдЬ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдм рдпрд╣ рджреЗрдЦреЛ рд╕реЗрдЯ рд╕реНрдЯреЗрдЯ рд╣реЛ рд░рд╣рд╛ рд╣реИ я┐╜ scoring рдкреЗрдЬ рдХреЛ рдПрдХ рд╕реЗ рдЗрдВрдХреНрд░рдореЗрдВрдЯ рдХрд░рдия┐╜я┐╜
14:15
рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИ рддреЛ рдореИрдВ рдпрд╣ рдХрд░реВрдВрдЧрд╛ рдирд╛ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реИ рдЕрднреА рднреА рджрд┐рд╕реНрдЯ рд╣реИ рдХреНрдпрд╛ рд╣реИ рдпрд╛рд░ рднреА рджрд┐рд╕реНрдЯ рддреАрди рдЬрдЧя┐╜я┐╜
14:22
рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рдиреЗрдХреНрд╕реНрдЯ рдЗрдЧрд▓ рдЯреВ рджрд┐рд╕ рдбреЙрдЯ рдкреИрдЪ рдореЛрдб рдХреА рдЬрдЧрд╣ рдлреЗрдЪ рдореЛрдб рдареАрдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдкрд░ рджрд┐я┐╜я┐╜
14:28
рдбреЙрдЯ рд╕реНрдЯреЗрдЯ рдФрд░ рдЖрд░реНрдЯрд┐рдХрд▓реНрд╕ рдЖрд░реНрдЯрд┐рдХрд▓реНрд╕ рдбреЙрдЯ рдореИрдк рдареАрдХ рд╣реИ рдХрд┐ рдЕрднреА рднреА я┐╜ inversed рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ рд╣рд╛рдВ рд▓реЗрдХрд┐рди рд╡рд╣ рдХрдореЗрдВрдЯреЗрдб рд╣я┐╜я┐╜
14:34
рдЪрд▓реЛ рдпрд╛рд░ рдЗрд╕рдХреЛ рднреА рд╣рдЯрд╛рдИ рд▓реЗрддреЗ рд╣реИрдВ рдХрдореЗрдВрдЯ рднреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реИ рдареАрдХ рд╣реИ рджрд┐рд╕ рдбреЙрдЯ рдкрд░ рд▓реЗ рд╕рд╛рд░реЗ рджрд┐рд╕ рдбреЙрдЯ рдкрд░ рдЖрдЧрд░ рдореИрдВрдиреЗ рд╕реЗрд╡ рдХрд░ рд▓рд┐рдпя┐╜я┐╜
14:40
рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд░рдлрд┐рдл рдлреИрдЪ рдореЛрдб рдбрд╛рдЗрдЯ рдЗрд╕ рдбреЙрдЯ рдбрд┐рдлрд╛рдЗрди рджреЗрдЦрддреЗ рд╣реИрдВ я┐╜ sack рд╡реЛ рдбрд╛рдЯрд╛ рдХреЗ рдбрд┐рдлрд╛рдЗрди рдирд╣реАрдВ рд╣реИ рдлреИя┐╜я┐╜
14:46
рдкрд░ рдХрд░рдХреЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдлреЗрд╕реНрдЯ рдкреЛрд░реНрдЯ рдЗрд╕ рдЗрдХреБрд▓ рдЯреВ рдПрдВрдб рдпреВрдЬ рдЗрдЯ рд╡рд░реНрдХреНрд╕bell рддреЛ рд╣рдордиреЗ рдЕрдкрдиреА рдЖрдкрдХреЛ рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд░ рд▓рд┐рдпя┐╜я┐╜
14:56
рдЗрд╕ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдПрдХ рдкреНрд▓рд╛рд╕ рдмреЗрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реЗ рдлрдВрдХреНрд╢рди рдмреЗрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд╣рдордиреЗ рдЗрд╕рдХреЛ рдЪреЗрдВрдЬ рдХрд░ рд▓рд┐рдпрд╛ рдареАрдХ рд╣я┐╜я┐╜
15:02
рдХреНрдпрд╛ рдХреЛрдИ рдмрдЧ рддреЛ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдпрд╣ рднреА рджреЗрдЦрдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдирд╣реАрдВ рдЖ рд░рд╣реА рддрдХ рддреЛ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рд╣рдорд╛рд░реА рдиреНрдпреВрдЬ рднреА рдЦреБрд▓ рд░рд╣реА рд╣реИ рд╕рдм рдХреБрдЫ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ рдпрд╣рд╛рдВ рдкрд░ рд╢рд╛рд░реЛрдЦ рдЦрд╛рди рдХрд╛ рдмреЙрдбреА рдЧрд╛рд░реНрдб рднреА рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ 2.7 рдХрд░реЛрдб рднреА рдХрдорд╛ рд░рд╣рд╛ рд╣реИ рд╡реЛ рдХя┐╜я┐╜
15:32
рдмрдврд╝рд┐рдпрд╛ рдпрд╛рд░ рдмрдврд╝рд┐рдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рднреА рддрдХ рд╕рдм рдХреБрдЫ рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдмрд╛рд░ рд╡рдЧреИрд░рд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдКрдкрд░ рд╡рд╛рд▓рд╛ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЖрдк рд▓реЛрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реЛ G├╢rd
15:42
handle previous click and handle next click рдореБрдЭреЗ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП рдмрдЯ in case рдЖрдк рд▓реЛя┐╜я┐╜
15:47
рдЬреЛ рдореИрдВрдиреЗ previous next buttons рдмрдирд╛рдпреЗ рдереЗ рдЙрдирдХреЛ рдЕрдЧрд░ рдЖрдк refactor рдХрд░ рд░рд╣реЗ рд╣я┐╜я┐╜
15:51
рддреЛ рдЖрдк рдЗрд╕рдХреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рддреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╣рдо рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЬреЛ app.js рд╣я┐╜я┐╜
15:55
рдЗрд╕рдХреЛ рднреА refactor рдХрд░реЗрдВрдЧреЗ рдФрд░ рдореИрдВ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рдХрд╛рдо рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВя┐╜я┐╜
15:59
рдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк рд▓реЛрдЧ try рдХрд░реЗрдВ рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ app.js рдХреЛ refactor рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдЖрдк рд▓реЛя┐╜я┐╜
16:05
рдЦреБрдж рд╕реЗ рдХрд░реЗрдВ рдареАрдХ рд╣реИ рддреЛ рдЕрдЧрд░ рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрднреА рддрдХ рдпреЗ react рдХреА playlist access рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ рддреЛ рдпрд╛рд░ рдЬрд▓реНрджреА рд╕я┐╜я┐╜
16:10
рдЗрд╕рдХреЛ access рдХрд░реЛ рдпрд╣рд╛рдВ рдХреЗ рд▓рд┐рдП рдХрд░рдХреЗ save рдХрд░реЛ playlist рдХреЛ рдпрд╣рд╛рдВ рдХреЗ рд▓рд┐рдП рдХрд░рдХя┐╜я┐╜
16:13
рдЗрд╕рдХреЛ bookmark рдХрд░ рд▓реЛ playlist рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдЗрддрдирд╛ рд╣реИ рдЧрд╛рдИя┐╜я┐╜
16:17
thank you so much guys for watching this video and I will see you next time