рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
useEffect
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ API рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рд╢реНрди
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░ рдкрд░ useEffect
рдЪрд▓рддрд╛ рд╣реИред рдЬрдм рдЖрдк рджреВрд╕рд░рд╛ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдЬреИрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЦрддрд░рдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЦрд╛рд╕рдХрд░ рдореЗрд░реЗ рдЬреИрд╕реЗ рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рд▓рдЧрддреА рд╣реИред рдореИрдВ рдХрдИ (рдХрд┐рд╕реА рднреА) рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░ рдкрд░ useEffect
рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рджреМрдбрд╝ рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдХрд╛рд░рдг рдерд╛
рдПрдкреАрдЖрдИ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛:
useEffect(
() => {
// do something
},
[/* dependency list */]
);
useEffect
рдХреЗрд╡рд▓ рддрднреА рдЪрд▓реЗрдЧрд╛ рдЬрдм рдирд┐рд░реНрднрд░рддрд╛ рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛, рдФрд░ рдЦрд╛рд▓реА рд╕рд░рдгреА []
рдЕрд░реНрде рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ (рдЕрд░реНрдерд╛рдд рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓реЗрдЧрд╛)ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╕реВрдЪреА рдХрд╛ рдЕрд░реНрде рд╣реИ useEffect
рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдкрдЯреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рдирд╛ред
рдореИрдВ рдХрдИ (рдХрд┐рд╕реА рднреА) рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдВрдбрд░ рдкрд░
useEffect
рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рджреМрдбрд╝ рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдХрд╛рд░рдг рдерд╛
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдирдП рд╣реИрдВ, рдФрд░ рдЬрдм рднреА рдХреЛрдИ useState
рдЪрд░ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдЖрдк рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдирдпрд╛ рдорд╛рди рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ)ред
useEffect
рдХреЙрд▓рдмреИрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗредрдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рд╕реВрдЪреА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЛрдб рд╕рд░рд▓реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди/рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
componentDidMount
+ componentDidUpdate
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИредcomponentDidMount
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИредthis.props
рдФрд░ prevProps
рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛)редрдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рд╡реНрдпрд╡рд╣рд╛рд░ (рдЬрдм рдЖрдк рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рдорд╛рдиреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ ред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП