рд╕рдВрд░рдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ

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

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



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

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

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

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

рджрд░рдЕрд╕рд▓, рдЕрдм, рдЖрдЧреЗ рдХреА рд╣рд▓рдЪрд▓ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЖрдкрдХреЛ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдХрд╣рд╛рдиреА рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВред

рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛред


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

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

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ


рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреЛ рдореИрдВ рдЖрдпрд╛ рдерд╛ рдХрд┐ рдЙрди рдШрдЯрдХреЛрдВ рдХреЛ "рдорд╣рддреНрд╡рдкреВрд░реНрдг", "рдореВрд▓", "рдореБрдЦреНрдп" рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреЗ рдЧрдП рд╣реИрдВред рдпреЗ рдлрд╝реЛрд▓реНрдбрд░, рдмрджрд▓реЗ рдореЗрдВ, components рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ <Product> рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ <Product> рдШрдЯрдХ рдХреЛ рдПрдХ рд╕рдорд╛рди рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ:

 - src/  - components/    - product/      - product.jsx      - product-price.jsx    - navigation/      - navigation.jsx    - checkout-flow/      - checkout-flow.jsx 

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

рдпрджреНрдпрдкрд┐ рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдердХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдЕрдЪреНрдЫреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХрд╛ рдЪрдпрди рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрд╡рдпрдВ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред

рдЙрдкрдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


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

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд╕рдмрдХреБрдЫ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ:

 - src/  - components/    - product/      - product.jsx      - ...      - product-price/        - product-price.jsx 

рдкрд░реАрдХреНрд╖рдг рдлрд╛рдЗрд▓реЗрдВ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдШрдЯрдХреЛрдВ рдХреА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВред


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

  • рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо: auth.js
  • рдЯреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо: auth.test.js

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХрдИ рддрд╛рдХрддреЗрдВ рд╣реИрдВ:

  • рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрд╕ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
  • рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ __tests__ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ, рдХрд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕реА рдЯреАрдореЗрдВ рдмреЗрд╣рдж рд╕рд╛рдзрд╛рд░рдг рджрд┐рдЦрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣: import Auth from './auth' ред import Auth from './auth' ред

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

рд╕реАрдПрд╕рдПрд╕ рдореЙрдбреНрдпреВрд▓


рдореИрдВ CSS рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВред рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓рд░ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИрдВред

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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА рд╕реАрдПрд╕рдПрд╕-рдлрд╛рдЗрд▓реЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд░рд╣, рдШрдЯрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ, рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд░реНрдЧ рдХреЗ рдЕрд░реНрде рдХреЛ рдЬрд▓реНрджреА рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдЧрддрд┐ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред

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

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

рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдХ рдХреЛрдб рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ рдПрдХ <Product> рдШрдЯрдХ рдмрдирд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдХреАрдордд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЯреБрдХрдбрд╝рд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореИрдВ рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

 const Price = ({ price, currency }) => (  <span>    {currency}    {formatPrice(price)}  </span> ) const Product = props => {  // ,      !  return (    <div>      <Price price={props.price} currency={props.currency} />      <div>loads more stuff...</div>    </div>  ) } 

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

рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░


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

рдЗрд╕реА рддрд░рд╣ рдХреЗ рдШрдЯрдХ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ ( src/components/generic ) рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдпрд╣ рд╕рднреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╣реИрдВ - рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝рддреА рд╣реИ, рд╣рдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб (рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╕реНрдЯрд╛рдЗрд▓рдЧреНрдпреВрдбреАрд╕реНрдЯ рдХреЗ рдмрдбрд╝реЗ рдкреНрд░рд╢рдВрд╕рдХ рд╣реИрдВ) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЖрдпрд╛рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдкрд╛рдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмреА рд╕рдВрд░рдЪрдирд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ рдЬреИрд╕реЗ ../../ ред рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдмрд▓-рдкреНрд▓рдЧрдЗрди-рдореЙрдбреНрдпреВрд▓-рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдЖрдк рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреИрдмрд▓ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡рд╣реА рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдЬреЛрдбрд╝реА рдЙрдкрдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ:

 {  components: './src/components',  '^generic/([\\w_]+)': './src/components/generic/\\1/\\1', } 

рдкрд╣рд▓рд╛ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдШрдЯрдХ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╢рдмреНрдж components рд╕рд╛рде рдХрдорд╛рдВрдб рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдЖрдпрд╛рдд рдЖрджреЗрд╢ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:

 import Product from '../../components/product/product' 

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 import Product from 'components/product/product' 

рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рдПрдХ рд╣реА рдлрд╛рдЗрд▓ рдХреЛ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрдиреЗ рджреЗрддрд╛ рд╣реИред

рджреВрд╕рд░рд╛ рдЙрдкрдирд╛рдо рдереЛрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИ:

 '^generic/([\\w_]+)': './src/components/generic/\\1/\\1', 

рд╣рдо рдпрд╣рд╛рдВ рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЖрдпрд╛рдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИ рдЬреЛ generic рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ (рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ ^ рд╕рд╛рдЗрди рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ generic рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ) рдФрд░ generic/ рдмрд╛рдж generic/ рд╕рдореВрд╣ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЗрд╕реЗ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд░ рдХрдмреНрдЬрд╛ рдХрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ ( \\1 ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ./src/components/generic/\\1/\\1 рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 import Button from 'generic/button' 

рд╡реЗ рдирд┐рдореНрди рдЖрджреЗрд╢реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ:

 import Button from 'src/components/generic/button/button' 

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

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

рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рд▓рд┐рдм рдлрд╝реЛрд▓реНрдбрд░


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

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

рд╣рдорд╛рд░реЗ рдереНрд░реЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, lib рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рдЧрднрдЧ 100 рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реБрдИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдмреБрджреНрдзрд┐рдорд╛рди рдЦреЛрдЬ lib/name_of_thing рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ lib/name_of_thing рдЬреИрд╕реЗ рдХреБрдЫ рджрд░реНрдЬ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдорд┐рд▓рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдирд╛рдо рд╣реИ рдЬреЛ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдЖрдпрд╛рдд рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 import formatPrice from 'lib/format_price' 

рдлреНрд▓реИрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рдЪрд┐рдВрддрд┐рдд рди рд╣реЛрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреА рд╣реИред

рджреЗрд╢реА рдПрдкреАрдЖрдИ рдХреЗ рдкреАрдЫреЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдирд╛


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

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

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдЙрдкрдХрд░рдг рдЫреБрдкрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдПрдХ lib/error-reporting.js reportError() рдореЙрдбреНрдпреВрд▓ рдЬреЛ lib/error-reporting.js рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореВрд▓ рд╕рдВрддрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдВрддрд░реА рд╕реАрдзреЗ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реА рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╣реАрдВ рдирд╣реАрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рдХреЛ рджреВрд╕рд░реЗ рдЯреВрд▓ рд╕реЗ рд░рд┐рдкреНрд▓реЗрд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧреЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЬрдм рддрдХ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИ, рддрдм рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рднреА рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдЬрдм reportError() рдХреЙрд▓ рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрддрд░реА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рддрд░реНрдХред рдЙрдиреНрд╣реЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

PropTypes (рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдлрд╝реНрд▓реЛ рдЬреИрд╕реЗ рдЯреВрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдЬрдм рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЦреБрдж рдХреЗ рддреАрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ:

  • рдЕрддреАрдд рд╕реЗ рдЬреИрдХ рдФрд░ рдЙрд╕рдиреЗ рд▓рд┐рдЦрд╛ рдХреЛрдб (рдХрднреА-рдХрднреА рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб)ред
  • рдЖрдЬ рдХрд╛ рдЬреИрдХ, рдФрд░ рд╡рд╣ рдХреЛрдб рдЬреЛ рд╡рд╣ рдЕрдм рд▓рд┐рдЦрддрд╛ рд╣реИред
  • рднрд╡рд┐рд╖реНрдп рд╕реЗ рдЬреИрдХред рдЬрдм рдореИрдВ рдЦреБрдж рдЗрд╕ рднрд╡рд┐рд╖реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЦреБрдж рд╕реЗ рд╡рд░реНрддрдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХреИрд╕реЗ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред

рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧрд╛, рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ: "рдЫрд╣ рдорд╣реАрдиреЗ рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рд╣реЛрдЧрд╛?"ред

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

рдпрджрд┐ рдЖрдк рдЖрдЧреЗ рднреА рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЧреБрдгреЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 blogPost: PropTypes.object.isRequired 

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛:

 blogPost: PropTypes.shape({  id: PropTypes.number.isRequired,  title: PropTypes.string.isRequired,  //    }).isRequired 

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

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


рдпрд╣ рдЯрд┐рдк рд░рд┐рдПрдХреНрдЯ рд╣реБрдХ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдереНрд░реЗрдб рд╕рд╛рдЗрдЯ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрдбрд╝реЗ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рдерд╛ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред , , . ( ), . , React-. тАФ , , React API Context, .

, , Redux, . , ( , ). , , , .


тАФ , , . .

 //     emitter.send('user_add_to_cart') //     emitter.on('user_add_to_cart', () => {  //  -  }) 

, . , . , ┬л ┬╗. , , , . . ┬л┬╗ - , . , , .

Redux. . , . , , user_add_to_cart , . . , , Redux, . , Redux , .

, , , , :

  • , , . .
  • , , . , .
  • , - , . , , .

- , . , , . , , , ┬л┬╗ .

, , API Context - .


, (, , ). : , .

, , , . :

 const wrapper = mount(  <UserAuth.Provider value=>    <ComponentUnderTest />  </UserAuth.Provider> ) 

:

 const wrapper = mountWithAuth(ComponentUnderTest, {  name: 'Jack',  userId: 1, }) 

:

  • . тАФ , , , .
  • тАФ mountWithAuth . , .

, test-utils.js . , тАФ . .

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


. , , , , . , , . , : . . - , .

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! React-?

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


All Articles