рдкреБрди :: Svelte 3 рдореЗрдВ рджрд░реНрдж рдФрд░ рдЖрдБрд╕реВ

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдЧреНрд░рджреВрдд


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



Svelte рдХреМрди рд╣реИ?


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

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

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓


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

рдпреВрдЖрдИ рдХрд┐рдЯ рдФрд░ рд╢реИрд▓рд┐рдпрд╛рдБ



Svelte рдХреЗ рд▓рд┐рдП UI рдХрд┐рдЯ рдвреВрдВрдврдирд╛ рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджрд░реНрдж рдерд╛ред рдореИрдВ рдмрд╣рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛: "рдХрдо рд╕реЗ рдХрдо рд╕рд╛рдордЧреНрд░реА, рдмреВрдЯрд╕реНрдЯреНрд░реИрдк ... рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ ..."ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рджреВрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпреВрдЖрдИ рд╡реНрд╣реЗрд▓ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА UI рдХрд┐рдЯ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ Svelte рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп UI рд╡реНрд╣реЗрд▓ рдХреЗ рд╕рд╛рде рднреА рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рд╡рд╛рдХреНрдп рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ "рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ" рд╕реНрд╡реЗрд▓реНрдЯ рдбреЛрдо рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╕рдВрдкреВрд░реНрдг рдереАрд╕рд┐рд╕ рд▓рдЧрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо, рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдмрд╛рд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (React / Vue / Angular / Ember) рдЬреЛ DOM рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдкреНрд░рд╢реНрди рдорд┐рд▓реЗрдВрдЧреЗред рддреБрд░рдВрдд рдРрд╕рд╛ рдЕрд╣рд╕рд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Svelte рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрджреНрднреБрдд рддрдВрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рддреГрддреАрдп-рдкрдХреНрд╖ DOM рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдПрдХ рдЫреЛрдЯрд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдЗрд╕ рдХреНрд╖рдг рддрдХ рдЧреЛрджреА рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИред рдЦреИрд░, рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2 рдорд┐рдирдЯ рдореЗрдВ MDCSlider рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди: REPL


рдореБрдЭреЗ рдмрддрд╛рдУ, рдХреГрдкрдпрд╛, рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рдХрд╣рд╛рдВ рд╣реИ?

stylization


рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╣рдо рд╕рднреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ Vue рдореЗрдВ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рд╢реИрд▓реА рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рдпреВрдЖрдИ рдШрдЯрдХ рд▓рд┐рдЦреЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ UIKit рдирд╣реАрдВ рд╣реИ) рдЬреЛ рдХрд┐ рдкреНрд░реЙрдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ, рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░реЗрдВ:
...
рдФрд░ ... рдирд╣реАрдВ, рд╢реИрд▓реА рдореЗрдВ рдЖрдк рдЪрд░ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗред

рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, Vue рдореЗрдВ рдШрдЯрдХ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдЕрдВрджрд░ рд░рд╛рдЬреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

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

Svelte рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ:

  • рдХрдХреНрд╖рд╛ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдХреНрд╖рд╛рдПрдВ рдмрджрд▓рдирд╛ :
  • рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
  • рд╕реАрдПрд╕рдПрд╕ рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ (рдЪрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
  • рднрд╛рд╡рдирд╛ рдХреА рддрд░рд╣ css-in-js рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдпрд╣ рд▓реЗрдЦ )

рдФрд░ рдЪреВрдВрдХрд┐ Vue рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЪрд▓реЛ рдЧрддрд┐рд╢реАрд▓ рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

<button v-on:click="fontSize++">Increase font size</button> <button v-on:click="fontSize--">Decrease font size</button> <p v-bind:style="{ fontSize: fontSize + 'px' }">Font size is: {{ fontSize }}</p> 

 <button on:click={e => fontSize++}>Increase font size</button> <button on:click={e => fontSize--}>Decrease font size</button> <p style="font-size: {fontSize + 'px'}">Font size is: {fontSize}</p> 

рдЖрд░рдИрдкреАрдПрд▓

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЕрдВрддрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд▓реЗрдЦрдХ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рдмрдХреБрдЫ Vue рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Svelte рдореЗрдВ рдирд╣реАрдВред рдпрд╣ рдЕрдЬреАрдм рд╣реИред

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

 <div {style}>....</div> <script> let fontSize = 10; let color = 'red'; let width = 50; $: style = ` font-size: ${fontSize}px; color: ${color}; width: ${width}px; `; </script> 

рдЖрдорддреМрд░ рдкрд░ рдпрд╣ 99% рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдереАрдо рдФрд░ / рдпрд╛ рд╕реАрдПрд╕рдПрд╕ рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд░реВрдЯрд┐рдВрдЧ рдФрд░ рд░рд╛рдЙрдЯрд░


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, Svelte рдПрдХ UI рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╛рд╣рд░реА Svelte Api рдХреЗрд╡рд▓ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдФрд░ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕реНрд╡рддрдВрддреНрд░ рд░рд╛рдЙрдЯрд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, page.js :

 import page from 'page'; import App from './App.svelte'; const app = new App({ target: document.body }); page('/posts', ctx => { //     dynamic import & code-splitting app.$set({ ctx, page: import('./Posts.svelte') }); }); page('/', ctx => { app.$set({ ctx, page: import('./Home.svelte') }); }); page.start(); export default app; 

 <nav> <a href="/">Home</a> <a href="/posts">Posts</a> </nav> <main> {#await page} <p>Loading...</p> {:then comp} <svelte:component this={comp.default || comp} {...ctx} /> {/await} </main> <script> export let page = null, ctx = null; </script> 

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

рддреНрд░реБрдЯрд┐рдпреЛрдВ


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

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

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


Svelte рдХреЛ рдХреЗрд╡рд▓ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдЕрдХреНрд╕рд░ рдХрд░реЗрдВрдЧреЗ - рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рдеред

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

 class MyComponent extends React.Component { constructor(props) { super(props); this.dialog = null; this.loading = false; this.pins = []; this.stitch = null; } render() { return <dialog ref={el=> this.dialog = el} class="mdl-dialog┬╗ />; } } 

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЯреАрдо рдХрд╛ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдирд╣реАрдВ рд╣реИ , рддреЛ Svelte рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

 <!--  ,      --> <Modal {open}> <!--      --> <!--  ,     ,      --> <form on:submit|preventDefault={save}> <!--  ,   --> <input bind:value={firstName} placeholder="First name"> <input bind:value={lastName} placeholder="Last name"> <input bind:value={birthDay} use:asDatepicker placeholder="Birthday"> <button bind:this={btnEl}>Save</button> </form> </Modal> <button on:click={e => open = true}>Open</button> <!--   --> <script> //     //  -  ,     import Modal from '~/components/Modal'; //     `as`,   `use:as<something>` import asDatepicker from '~/actions/datepicker'; //    -  observerable,    cycle/rx import user$ from '~/stores/user'; import { saveUser } from '/api'; //     let firstName = '', lastName = '', birthDay = ''; let open = false; let btnEl; //           let refs = {}; //       async function save() { const patch = { firstName, lastName, birthDay }; await saveUser(patch); $user$ = { ...$user$, ...patch }; } //          export { open, save }; </script> <!--   --> <style> /* ... */ </style> 

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

рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╣рд╛рдБ рдФрд░ рдХрд┐рд╕рдиреЗ рдХрд┐рдпрд╛?




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

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

 import React, { useState, useCallback } from 'react'; function MyComponent() { const [ loading, setLoading ] = useState(false); const [ status, setStatus ] = useState(0); const [ pins, setPins ] = useState([]); const ReloadPins = useCallback(async () => { setLoading(true); setPins(await getAllPins()); setStatus(0); }); return (<div></div>); } 

рдмрдирд╛рдо

 <div></div> <script> let loading = false; let status = 0; let pins = []; async function ReloadPins() { loading = true; pins = await getAllPins(); status = 0; } </script> 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕реНрдХреНрд░рд┐рдмрд▓реНрд╕ред

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ:

 this.setState({ foo: 1 }) 

рдФрд░ рдЬрдм рддрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдлреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, VDOM рддрдВрддреНрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рд░реЗрдВрдбрд░ / рд╕рд╛рдордВрдЬрд╕реНрдп рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ? рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИред Svelte рдореЗрдВ, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд╢рд╛рдВрддрд┐ рд╕реЗ рдореБрдХреНрдд рд╣реИрдВред

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

рдмрд╛рдБрдз рд╕рд┐рд▓рд╛рдИ


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

рдЖрдкрдХреЛ Svelte рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ, рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛрдЧрд╛ - рдХрд┐рд╕реА рднреА рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдпрд╛ Vue рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдПрдВрдЧреБрд▓рд░ рдпрд╛ рдПрдореНрдмрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдПрдХ рдЕрд▓рдЧ рдкреИрдорд╛рдиреЗ рдХреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИрдВред

рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕реНрд╡реЗрд▓реНрдЯреЗ рдореЗрдВрдЯреЗрдирд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрдпреЛрдВ рд╣реИрдВ? рд╣рдо Svelte рдХреЛ рдХреЗрд╡рд▓ "рдкреИрд░реЛрдВ рдкрд░ рд╢реВрдЯрд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, Svelle рд╕реНрдкреЛрд░реНрдЯреНрд╕ рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдСрд▓-рдЯреЗрд░реЗрди рдЯреНрд░реИрдХ рдХреА рддрд░рд╣ рд╣реИред рдФрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕реНрд╡реЗрд▓реНрдЯреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЬреЗрдПрд╕ рдХрд┐рддрдирд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЕрдм рдЬреЗрдПрд╕ рдирд╣реАрдВ рд╣реИред

Svelte PropTypes, Flow рдФрд░ TypeScript рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╣реА рдкреБрд░рд╛рдиреЗ рдФрд░ рджреАрдкрдХ рдЬреЗрдПрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИред

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

рдпрд╣ Svelte рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?


  1. рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдФрд░ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
  2. рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд┐рдВрджреБ 1 рдореЗрдВ рдЕрд╡рд╕рд░ рдХреА рдПрдХ рдЦрд┐рдбрд╝рдХреА рд╣реИ - рдЖрдк рд╕реНрд╡реЗрд▓реЗрдЯ рдкрд░ рдХреБрдЫ "рднрд╛рд░реА" рдШрдЯрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рдШрдЯрдХ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ред
  3. рдпрджрд┐ рдЖрдк рдПрдХ рдЙрджреНрдпрдо рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреЛрдгреАрдп рдпрд╛ рдПрдореНрдмрд░ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд░рд┐рдПрдХреНрдЯ рдФрд░ рд╡реАрдпреВ рдХреА рддрд░рд╣ рд╣реА рд╕реНрд╡реЗрд▓реНрдЯ рднреА рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
  4. рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  5. рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╛рдирдХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдСрдл-рдж-рд╢реЗрд▓реНрдл рдШрдЯрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  6. рдЕрднреА рднреА рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдордЬреЛрд░ рдЯреНрдпреВрдирд┐рдВрдЧред рдпрджрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддреЛ рдпрд╣ рдЗрдВрддрдЬрд╛рд░ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдпрд╛ рд╣рдорд╛рд░реЗ рд╕рдореБрджрд╛рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдФрд░ рдПрдХ рд╕рд╛рде рдЯреНрдпреВрдирд┐рдВрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред))

***

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореВрд▓ рд▓реЗрдЦ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд┐рд╖реНрдХрд░реНрд╖ рдЭреВрдареА рдорд╛рдиреНрдпрддрд╛рдУрдВ рдФрд░ рдкрд╛рдардХреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВрдиреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо @sveltejs (1K + рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ) рдореЗрдВ рд░реВрд╕реА-рднрд╛рд╖реА рд╕реНрд╡реЗрд▓реНрдЯ рд╕рдореБрджрд╛рдп рдореЗрдВ рд▓реЗрдЦрдХ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛, рдореИрдВ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦрдХ рдФрд░ рдЙрдирдХреА рдЯреАрдо рдиреЗ рдПрдХ рдирдП, рдЕрдЬреНрдЮрд╛рдд рдЙрдкрдХрд░рдг рдХреЛ рдорд╛рд╣рд┐рд░ рдХрд░рдиреЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд▓реЛрдЧ рд╕рд┐рд░реНрдл рдЪреИрдЯ рд░реВрдо рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддреЗ, рддреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдлрд┐рд▓рд╣рд╛рд▓, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЙрдирдХрд╛ рдирд┐рдЬреА рдорд╛рдорд▓рд╛ рд╣реИред

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


All Articles