рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднрд╛рдЧ 19: рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЗ

рд░рд┐рдПрдХреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рднрд╛рдЧ рдореЗрдВ, рдЖрдкрдХреЛ рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЫрд╡рд┐

тЖТ рднрд╛рдЧ 1: рдкрд╛рдареНрдпрдХреНрд░рдо рдЕрд╡рд▓реЛрдХрди, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░рдг, ReactDOM рдФрд░ JSX
тЖТ рднрд╛рдЧ 2: рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ
тЖТ рднрд╛рдЧ 3: рдШрдЯрдХ рдлрд╛рдЗрд▓реЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛
тЖТ рднрд╛рдЧ 4: рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ
тЖТ рднрд╛рдЧ 5: рдПрдХ TODO рдЖрд╡реЗрджрди, рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ
тЖТ рднрд╛рдЧ 6: рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЬреЗрдПрд╕рдПрдХреНрд╕ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
тЖТ рднрд╛рдЧ 7: рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓реА
тЖТ рднрд╛рдЧ 8: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрд╛, рдШрдЯрдХреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд
тЖТ рднрд╛рдЧ 9: рдШрдЯрдХ рдЧреБрдг
тЖТ рднрд╛рдЧ 10: рдШрдЯрдХ рдЧреБрдгреЛрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 11: рдбрд╛рдпрдиреЗрдорд┐рдХ рдорд╛рд░реНрдХрдЕрдк рдЬреЗрдирд░реЗрд╢рди рдФрд░ рдореИрдк рдПрд░реЗ рд╡рд┐рдзрд┐
тЖТ рднрд╛рдЧ 12: рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛, рдПрдХ TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рддреАрд╕рд░рд╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 13: рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ
тЖТ рднрд╛рдЧ 14: рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ, рдШрдЯрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 15: рдШрдЯрдХ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛рдПрдБ
тЖТ рднрд╛рдЧ 16: TODO рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд╛ рдЪреМрдерд╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 17: TODO рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдХрд╛рдо рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛ рдЪрд░рдг, рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ
тЖТ рднрд╛рдЧ 18: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рдЫрдард╛ рдЪрд░рдг
тЖТ рднрд╛рдЧ 19: рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ
рднрд╛рдЧ 20: рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рдкрд╣рд▓рд╛ рдкрд╛рда
тЖТ рднрд╛рдЧ 21: рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рджреВрд╕рд░рд╛ рдкрд╛рда рдФрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 22: TODO рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд╛ рд╕рд╛рддрд╡рд╛рдВ рдЪрд░рдг, рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛
тЖТ рднрд╛рдЧ 23: рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдкрд╣рд▓рд╛ рдкрд╛рда
тЖТ рднрд╛рдЧ 24: рджреВрд╕рд░рд╛ рд░реВрдк рдкрд╛рда
тЖТ рднрд╛рдЧ 25: рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛
тЖТ рднрд╛рдЧ 26: рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдХрдВрдЯреЗрдирд░ / рдШрдЯрдХ рдкреИрдЯрд░реНрди
тЖТ рднрд╛рдЧ 27: рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░рд┐рдпреЛрдЬрдирд╛

рдкрд╛рда 34. рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЗ, рднрд╛рдЧ 1


тЖТ рдореВрд▓

рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХрд╛рдлреА рд╕рд░рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдирджрд╛рд░ рдЕрд╡рд╕рд░ рдорд┐рд▓рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдЙрдирдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рджреМрд░рд╛рди рд╣рдо рдЬрд┐рди рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдХреБрдЫ рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░, рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЬреАрд╡рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдПрдХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рд▓реЛрдЧ рдкреИрджрд╛ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреАрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдЬреАрд╡рди рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛рдПрдВ рдШрдЯрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡реЗ рдорд░ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдХреЗ рдШрдЯрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ "рдЬрдиреНрдо", "рд▓рд╛рдЗрд╡" рдФрд░ "рдбрд╛рдИ" рднреА рд╣реИрдВред рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЙрдирдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдирдХреЗ рдЬреАрд╡рди рдХреЗ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд░рд┐рдПрдХреНрдЯ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдиреЗ рддреАрди рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреБрд░рд╛рдирд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╣рдо рдлрд┐рд░ рднреА рдЗрди рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЪреВрдВрдХрд┐ рд╡реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рджреЛ рдирдП рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рд╣рдо рдХреЗрд╡рд▓ рдЙрди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрднреА-рдЕрднреА рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рдЖрдк рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рддреЛ рдЖрдк рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВрдЧреЗред

рдпрд╣рд╛рдВ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдХреБрдЫ рдЕрдЪреНрдЫреА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬреЛ рд░рд┐рдПрдХреНрдЯ 16.3 рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдереЗред рдпрд╣рд╛рдВ , рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рдПрдХреНрдЯрд░ рдбреЗрд╡рд▓рдкрд░ рдмреНрд▓реЙрдЧ рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16.3 рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм, рдЖрдЗрдП рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред

рд╣рдо рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдпрд╣рд╛рдВ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо App.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ create-react-app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдорд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ:

 import React, {Component} from "react" class App extends Component {   constructor() {       super()       this.state = {}   }     render() {       return (           <div>               Code goes here           </div>       )   } } export default App 

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдЙрд╕ рд╡рд┐рдзрд┐ рдкрд░ рдЬреЛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрдХреНрд╖рд╛-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХреА рд╣реИред рдпрд╣ render() рддрд░реАрдХрд╛ рд╣реИред

рдЕрдХреНрд╕рд░, рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╕рдордп рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдШрдЯрдХ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреНрд░реЗрд╕рд┐рдВрдЧ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрд░реНрдерд╛рдд рдШрдЯрдХ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рдПрдХ рдШрдЯрдХ рдХреЗ рдЬреАрд╡рди рдХреЗ рджреМрд░рд╛рди render() рд╡рд┐рдзрд┐ рдХреЛ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рд░рд┐рдПрдХреНрдЯ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдШрдЯрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рд░рд╛рдЬреНрдп рдпрд╛ рдЧреБрдг, рдЕрд░реНрдерд╛рдд, рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдШрдЯрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд░рд┐рдПрдХреНрдЯ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЕрдЧрд░ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рдЬрд╛рд░реА рд░рдЦреЗрдВ, рддрд╛рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрдкрдбрд╝реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░ рд╕рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХрд╛рд░реНрдпрджрд┐рд╡рд╕ рдХреЗ рдмрд╛рдж, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрд╡рдХрд╛рд╢ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рддреИрдпрд╛рд░реА рдХрд░реЗрдВред

рдЕрдм рдЖрдЗрдП рдПрдХ рдФрд░ рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - componentDidMount() ред рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддрд░рд╣, рдШрдЯрдХ рд╡рд░реНрдЧ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:

 componentDidMount() { } 

рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдШрдЯрдХ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рд╕рдордп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рддреБрд▓рдирд╛ рдЗрд╕ рдШрдЯрдХ рдХреЗ "рдЬрдиреНрдо" рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред DOM рдЯреНрд░реА рдореЗрдВ рдХрдВрдкреЛрдиреЗрдВрдЯ рдорд╛рдЙрдВрдЯреЗрдб (рд╕рдореНрдорд┐рд▓рд┐рдд) рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рдмрд╛рд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдШрдЯрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ componentDidMount() рд╡рд┐рдзрд┐ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдШрдЯрдХ рдХреЛ рдбреЛрдо рдЯреНрд░реА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдлрд┐рд░ рд╕реЗ рдкреЗрдбрд╝ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

componentDidMount() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рдПрдкреАрдЖрдИ рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдЬрд┐рд╕ рдШрдЯрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ TodoList рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдРрд╕рд╛ рдШрдЯрдХ рд╣реИ рдЬреЛ рдЯреЛрдбреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдПрдХ рдЯреВ-рдбреВ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдШрдЯрдХ рдХреЗ componentDidMount() рд╡рд┐рдзрд┐ рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдЯреВ-рдбреВ рд╕реВрдЪреА рдХреЗ рд╕рд╣реА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдирддреАрдЬрддрди, рдШрдЯрдХ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо, componentDidMount() рд╡рд┐рдзрд┐ рдореЗрдВ, рдШрдЯрдХ рдХреЗ рдкреЗрдЬ рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдпрд╣ рдпрд╛рдж рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ componentDidMount() рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред

рдЕрдЧрд▓рд╛ рдШрдЯрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕реЗ componentWillReceiveProps() рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред componentWillReceiveProps() ред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЙрдкрд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИред рддреЛ, рдПрдХ рдШрдЯрдХ рдПрдХ рдореВрд▓ рдШрдЯрдХ рд╕реЗ рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░ рдПрдХ рдШрдЯрдХ рдЧреБрдг рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╣рд░ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдорд╛рддрд╛-рдкрд┐рддрд╛ рдШрдЯрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреЛ рдЧреБрдг рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдЬрдм рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореВрд▓ рдШрдЯрдХ рдЪрд╛рдЗрд▓реНрдб рдШрдЯрдХ рдХреЛ рджрд┐рдП рдЧрдП рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ, componentWillReceiveProps() рд╡рд┐рдзрд┐ рдореЗрдВ, рд╣рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдирдП рдЧреБрдг рдЙрди рдШрдЯрдХреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдШрдЯрдХ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛ рдЪреБрдХреЗ рдереЗред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдирдП рдЧреБрдг рдкреБрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдирдХреА рд░рд╕реАрдж рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрджрд┐ рдирдП рдЧреБрдг рдкреБрд░рд╛рдиреЗ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ, рддреЛ рд╣рдо рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдШрдЯрдХ рд╡рд░реНрдЧ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 componentWillReceiveProps(nextProps) { } 

рдпрд╣рд╛рдБ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо, nextProps рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдкрдиреА nextProps рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдкрддреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд░рд┐рдд рд╣реЛ рдЪреБрдХреА рд╣реИ, рдФрд░ рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд╕рд╛рде рдШрдЯрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 componentWillReceiveProps(nextProps) {   if (nextProps.whatever !== this.props.whatever) {       //   -    } } 

рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16.3 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рдмрд╛рдж, рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ componentWillReceiveProps() WillReceiveProps componentWillReceiveProps() рдРрд╕реЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рд░рд┐рдПрдХреНрдЯ 17 рддрдХ, рдЗрди рд╡рд┐рд░рд╛рд╕рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреА рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╡рд┐рдзрд┐ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ UNSAFE_componentWillReceiveProps() рдХреЙрд▓ рдХрд░рдирд╛ UNSAFE_componentWillReceiveProps() ред рд░рд┐рдПрдХреНрдЯ 17 рдХреЗ рдмрд╛рдж, componentWillReceiveProps() рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдкреБрд░рд╛рдиреА рдкрджреНрдзрддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдзреБрдирд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдШрдЯрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐ рдХреЛ shouldComponentUpdate() рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣, рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдШрдЯрдХ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕ рдХреНрд╖рдг рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХрдкрдбрд╝реЗ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдпрджрд┐ рд░рд┐рдПрдХреНрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛ред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЖрд╡реЗрджрди рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╛ рдирд╣реАрдВред

рдпрд╣ рдШрдЯрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рддрдм рднреА рдЬрдм рдШрдЯрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛ рд░рд┐рдПрдХреНрдЯ рдЙрди рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред shouldComponentUpdate() рд╡рд┐рдзрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣рд╛рдВ рдЖрдк рдХреБрдЫ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдШрдЯрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 shouldComponentUpdate(nextProps, nextState) {   //  true        //  false    } 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╡рд┐рдзрд┐ рд╕реЗ, рдпрджрд┐ рдШрдЯрдХ рдХреЛ рдирдП рдЧреБрдгреЛрдВ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдкреБрди: рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ true рд░рд┐рдЯрд░реНрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ true ред рдЕрдиреНрдпрдерд╛, false рдХреЛ рдЗрд╕рд╕реЗ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред рджрд░рдЕрд╕рд▓, рдЗрд╕ рд╡рд┐рдзрд┐ рд╕реЗ false рддрд░реАрдХреЗ рд╕реЗ рд▓реМрдЯрдиреЗ рдкрд░ рдпрд╣ рддрдереНрдп рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреЗрдЬреА рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдХ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрди: рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдШрдЯрдХ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ false , рддреЛ рдпрд╣ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛, рдЬрд┐рдирд╕реЗ рдирд┐рдкрдЯрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред

рдПрдХ рдФрд░ рдШрдЯрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЙрд╕реЗ componentWillUnmount() рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдШрдЯрдХ рдХреЗ "рдЬреАрд╡рди" рдХреЗ рдЕрдВрдд рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреА рд╣реИ - рд╡рд╣ рдХреНрд╖рдг рдЬрдм рдЗрд╕реЗ DOM рдЯреНрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдШрдЯрдХ рдХреЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ componentDidMount() рд╡рд┐рдзрд┐ рдХреЛ рдЗрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ componentWillUnmount() рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЙрди рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИрдВ рдЬреЛ рдШрдЯрдХ рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ App рдШрдЯрдХ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЧрдпреА рд╣реИрдВ:

 import React, {Component} from "react" class App extends Component {   constructor() {       super()       this.state = {}   }     componentDidMount() {       //  ,        }     componentWillReceiveProps(nextProps) {       if (nextProps.whatever !== this.props.whatever) {           //   -        }   }     shouldComponentUpdate(nextProps, nextState) {       //  true            //  false      }     componentWillUnmount() {       //            // ( -   )   }     render() {       return (           <div>               Code goes here           </div>       )   } } export default App 

рдпрд╣ рдЗрд╕ рдкрд╛рда рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЗ рдЙрди рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдордиреЗ рдЖрдЬ рд╕рдореАрдХреНрд╖рд╛ рдХреАред

рдкрд╛рда 35. рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЗ, рднрд╛рдЧ 2


тЖТ рдореВрд▓

рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рд░рд┐рдПрдХреНрдЯ 16.3 рд╕рд╛рдордиреЗ рдЖрдпрд╛, рддреЛ рдпрд╣ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рддреАрди рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпрд╛рдВ рдкреБрд░рд╛рдиреА рдереАрдВред рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдВ componentWillMount() , componentWillReceiveProps() рдФрд░ componentWillUpdate() ред рджреЛ рдирдП рддрд░реАрдХреЗ рднреА рдмрддрд╛рдП рдЧрдПред рдпрд╣ рд╕реНрдерд┐рд░ getDerivedStateFromProps() рд╡рд┐рдзрд┐ рдФрд░ getSnapshotBeforeUpdate() рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдВ рдЗрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдВрдЧреА, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗред

рд╣рдо рдЙрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред

рдпрд╣рд╛рдБ getDerivedStateFromProps() рд╡рд┐рдзрд┐ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 static getDerivedStateFromProps(props, state) { } 

рд╡рд┐рдзрд┐ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ static рдзреНрдпрд╛рди рджреЗрдВред рдЙрд╕реЗ, рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдЕрджреНрдпрддрди рд╕реНрдерд┐рддрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдШрдЯрдХ рдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕реЗ рдореВрд▓ рдШрдЯрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрди рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рд░рд┐рдПрдХреНрдЯ рдмреНрд▓реЙрдЧ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕рднреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдФрдЪрд┐рддреНрдп рд╕реЗ рджреВрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрдиреБрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╣реИред

рдЕрдм рд╣рдо getSnapshotBeforeUpdate() рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рдШреЛрд╖рдгрд╛ рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╣реЛрддреА рд╣реИ:

 getSnapshotBeforeUpdate() { } 

рдЗрд╕реЗ рдПрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдШрдЯрдХ рдореЗрдВ рдЬреЛ рдХреБрдЫ рд╣реИ рдЙрд╕рдХрд╛ рдмреИрдХрдЕрдк рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рд╕реНрдиреИрдкрд╢реЙрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рджрд╛рдпрд░рд╛ рд╕реАрдорд┐рдд рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╣реИред

рдкрд░рд┐рдгрд╛рдо


рдЖрдЬ рд╣рдордиреЗ рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдЬрдм рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдореЗрдВ рдЖрдПрдВрдЧреЗред рдЗрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдЖрдЧреЗ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ, рд╣рдо рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, componentDidMount() рд╕рд╛рде рдорд┐рд▓реЗрдВрдЧреЗред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рд╕рд╢рд░реНрдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдк рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi441578/


All Articles