рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд░рд╛рдорд╕реЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд▓реЗрдЦ "рдмрд┐рд▓реНрдб рдЕ рд░реЗрдбреНрдпреВрдХреНрд╕-рд▓рд╛рдЗрдХ рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреЛрд░ рдпреВрдЬрд╝рд┐рдВрдЧ рд░реЗрдХреНрдЯ рд╣реБрдХреНрд╕" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред
рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдЪрдп рд▓рд┐рдЦрд╛ рд╣реИ, рдФрд░ рдЕрдм рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдкрд░ рд╕реАрдзреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдХрд░реЗрдВрдЧреЗ
рдПрдХ рдХрд╕реНрдЯрдо рд░рд┐рдПрдХреНрдЯ рд╣реБрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд░реЗрдбрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрдВрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ Redux рдХреЗ рд╕рдорд╛рди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рднрдВрдбрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди Redux рдХреЗ рдкреВрд░реНрдг рд╕рдордХрдХреНрд╖ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИред "Redux-like," рдХрд╣рдиреЗ рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ,
рдЖрдк рдкреНрд░реЗрд╖рдг рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╛рдЬреНрдп рдХреА рдПрдХ рдирдИ рдкреНрд░рддрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдиреЗ Redux рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рди рдкрдврд╝рдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░реЗрдВред
hooky
рдЖрдЗрдП рдПрдХ рд╕рдВрджрд░реНрдн ( рдЗрд╕рдХреЗ рдмрд╛рдж рдкреНрд░рд╕рдВрдЧ ) рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд░рд╛рдЬреНрдп ( рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд╛ рд░рд╛рдЬреНрдп ) рдФрд░ рдПрдХ рдкреНрд░реЗрд╖рдг рд╕рдорд╛рд░реЛрд╣ ( рдЗрд╕рдХреЗ рдмрд╛рдж рдкреНрд░реЗрд╖рдг ) рд╣реЛрдЧрд╛ред рд╣рдо рдпреВрдЬрд╝рд╕реНрдЯреЛрд░ рдлрд╝рдВрдХреНрд╢рди рднреА рдмрдирд╛рдПрдВрдЧреЗ, рдЬреЛ рд╣рдорд╛рд░реЗ рд╣реБрдХ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред
рдЪреВрдБрдХрд┐ рд╕рдмрдХреБрдЫ React Context рдХреЗ рдЕрдВрджрд░ рдЬрдорд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рджреЗрдЧрд╛
рд╣рдореЗрдВ рдПрдХ рд░рд╛рдЬреНрдп рд╡рд╕реНрддреБ рдФрд░ рдПрдХ рдкреНрд░реЗрд╖рдг рд╕рдорд╛рд░реЛрд╣ред рдкреНрд░рджрд╛рддрд╛ рд╡рд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВрд░реЗрдбрд░ ред
рд╣рдо рд╕реНрдЯреЗрдЯ рдФрд░ рдбрд┐рд╕реНрдкреИрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд░реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ useReducer рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд░рд╛рдЬреНрдп рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ ред
рдЕрдм рд╣рдо рдХрд┐рд╕реА рднреА рд░рд┐рдПрдХреНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ <рдкреНрд░рджрд╛рддрд╛ /> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдШрдЯрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЬрд╝рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рдордиреЗ рдЕрднреА рддрдХ reducer рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ ред рдпрд╣ рд╣рдорд╛рд░рд╛ рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реЛрдЧрд╛ред
рдореИрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рд░рд╛рдЬреНрдп рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдкрдХреЛ рдХрд╛рдЙрдВрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ (рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг) рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ (рдЪрд╛рд╣реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдЕрдкрдиреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рд╣реЛ) рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдХреБрдЫ рдШрдЯрдХ рдореЗрдВ, рдЖрдкрдХреЛ рдЗрди рджреЛрдиреЛрдВ рд░рд╛рдЬреНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдПрдХрджрдо рд╕рд╣реА рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ userActions рдФрд░ countActions , рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдЪрд▓реЛ рд╕реНрдЯреЛрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ countActions.js рдФрд░ userActions.js рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВред
рдЗрди рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рд╣рдо initialState рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ , рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА initialState рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ useStore.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рдо рдПрдХ рдПрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд░рд╛рдЬреНрдп рдХреЗ рдореНрдпреВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдПрдХ рдирдпрд╛ рд░рд╛рдЬреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ reducer рдореЗрдВ, useStore.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛред
рдЕрдм рд╣рдо рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рднреА useStore.js рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рд╣рдордиреЗ рдХрд░ рджрд┐рдЦрд╛рдпрд╛! рд╕рдореНрдорд╛рди рдХрд╛ рдПрдХ рдЪрдХреНрд░ рдмрдирд╛рдПрдВ, рдФрд░ рдЬрдм рдЖрдк рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВрдЧреЗ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдШрдЯрдХ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╡рд╛рдкрд╕ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕рд░реНрдХрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдореНрдорд╛рдирдЬрдирдХ рдерд╛ред рдЖрдЗрдП рдПрдХреНрд╢рдирд╕реНрдЯреЛрд░ рдореЗрдВ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ ред
рдкрд╣рд▓реЗ рд╣рдо рдЕрдкрдиреЗ App рдШрдЯрдХ рдХреЛ <StoreProvider /> рдореЗрдВ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕реНрдЯреЛрд░рдкреНрд░реЙрдЗрдбрд░ рдореЗрдВ рдРрдк рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдореВрд▓реНрдп рддрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреА рдкрд╣реБрдВрдЪ рд╣реЛред рдпрд╣ рдорд╛рди рд░рд╛рдЬреНрдп рдФрд░ рдкреНрд░реЗрд╖рдг рджреЛрдиреЛрдВ рд╣реИред
рдЕрдм, рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ AppHeader рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓реЙрдЧрд┐рди / рд▓реЙрдЧрдЖрдЙрдЯ рдмрдЯрди рд╣реИред
рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ
рдореВрд▓ рд▓реЗрдЦрдХ: рд░рд╛рдорд╕реЗ
рдореВрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ