╬Ыambda рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рд░реЛрд╣реЛрдВ рдХреЗ рдмрд┐рдирд╛, рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреНрд░реЗрд╕ рдФрд░ рдЪрд┐рд▓реНрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ, рдФрд░ рд╡реИрд╕реЗ, рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!


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


рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреА рдЕрдЧрд▓реА рд╢рд╛рдЦрд╛ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд╣рд╛рдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЗрдПрд╕рдПрдХреНрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рд╕рдордп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рдФрд░ рд╣рд╛рдВ рдЙрди рдмрд╣реБрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрдХреНрд╖ рдореЗрдВред рдЕрдЧрд░ рд╕рд░реНрдЧреЗрдИ рдбреНрд░реВрдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реЛрддреЗ, рддреЛ рд╣рдо рд╕реБрдирддреЗ:


- рдПрдХ рдордЬрдмреВрдд рдмрдпрд╛рди, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ ред


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



рдкреИрдЯрд░реНрди рдХреЗ рд░рд╛рдЬреНрдп


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




рдЬреЗрдПрд╕рдПрдХреНрд╕ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреЛрдб рд╕реЗ HTML рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдорд╛рд░реНрдХрдЕрдк рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрди рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реАрд▓рд┐рдП рдЖрдк JSX рдХреЗ рдкреНрд░рддрд┐ рдЖрд▓реЛрдЪрдирд╛ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рдЖрдк JS рдХреЛ HTML рдХреЗ рдЕрдВрджрд░ рдПрдиреНрдХреЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ JS рдПрдХ рдЕрдиреНрдп рдПрдореНрдмреЗрдбреЗрдб HTML рдЗрддреНрдпрд╛рджрд┐ рд╣реИред


рдЦреИрд░, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП, JSX рдПрдХ рд╣реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдХреНрдпреЛрдВрдХрд┐ рд╢реБрд░реВ рдореЗрдВ XHP рдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ PHP рдЯреНрдпреВрдиреНрдб рдлреЗрд╕рдмреБрдХ рд╣реИред рдпрджрд┐ рд╢реБрджреНрдз рдЕрднрд┐рдХреНрд░рд┐рдпрд╛ рдЫреЛрдЯрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ XHP рдХреЗ рд╕рд╛рде рдХреБрдЫ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ, рддреЛ JSX рдЙрд╕рдХрд╛ рдЬреБрдбрд╝рд╡рд╛рдВ рднрд╛рдИ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрдирд┐рдпрд╛ рдореЗрдВред


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


рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдм рдЖрдк рд▓реЗрдЖрдЙрдЯ / рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рд╕реЗ HTML + CSS рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд▓реНрджреА рд╕реЗ рдПрдВрдЯреАрдирд╛ рдпрд╛ рдирд┐рд░реНрджреЗрд╢ рд╡рд╣рд╛рдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдШрдЯрдХ рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рднреА рджреЗрдЦрддрд╛ рд╣реИред рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ Vue / Angular рдЬреИрд╕реА рдЪреМрдЦрдЯреЗрдВ рдЯреИрдХреНрд╕реА рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛ рд░рд╣реА рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪреБрдкрдЪрд╛рдк рд░реЛ рд░рд╣реА рдереАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореИрдВ рдХрднреА рднреА рдПрдХ рдбрд┐рдЬрд╛рдЗрдирд░ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ HTML + CSS рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯрд╛рдЗрдкрд╕реЗрдЯ рдПрдХ рдкреМрд░рд╛рдгрд┐рдХ рдЪрд░рд┐рддреНрд░ рдерд╛ рдЬреЛ рдЬреАрд╡рди рдореЗрдВ рдХрднреА рдХрд┐рд╕реА рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдерд╛, рдФрд░ рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдЬреАрд╡рди рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдкрд░ рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рдЬреАрд╡ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рд╕рд╣реА - рд╕рд╛рдордиреЗ рдХрд╛ рдЫреЛрд░ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрдХреНрд╕рд░ рдиреМрдХрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:


- рдХрдо рд╕реЗ рдХрдо 10 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдЖрдард╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЕрдиреБрднрд╡ред


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


рд░рд╛рдЬреНрдп рдХреЗ рдХрд╛рд░реНрдп


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


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдореНрдпреВрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╣реИрдВ, рдФрд░ рд░рдИрд╕ рд╣реИрдВ - рдХрд░реА рдХрд╛рд░реНрдп , рдЬрд╛рд╣рд┐рд░ рд╣реИ рд╕рд░ рдХрд░реА рд╣рд╕реНрдХреЗрд▓ рдиреЗ рдЦреБрдж рдХреЛ рдЗрд╕ рдЦрд┐рддрд╛рдм рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛ рджреАред


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


рдареАрдХ рд╣реИ, рдЖрдЗрдП рдЗрди рд░рдИрд╕реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ:


import ╬╗ from 'react-on-lambda' const postLink = ╬╗.a({href: `/posts/123`}) 

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдкреЛрд╕реНрдЯрд▓рд┐рдВрдХ рдЕрднреА рддрдХ рдПрдХ HTML рддрддреНрд╡ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЗрд╕реЗ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛, рдПрдХ рдФрд░ рд▓рдВрдмреЛрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдПрдХ рдЦрд╛рд▓реА рдорд╛рди, рдФрд░ рдлрд┐рд░ рдЬрд╛рджреВ рд╣реЛрдЧрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрддреНрд╡ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЕрдВрддрддрдГ HTML рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:


 postLink(`Read more`) // JSX equivalent <a href=тАЭ/posts/123тАЭ>Read more</a> 

рдЖрд╣, рд╣рд╛рдБ, рдЧреНрд░реАрдХ рдкрддреНрд░ рдЖрдкрдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ: ╬╗ рдмрд╕ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ, рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:


 import l from 'react-on-lambda' // or import {div, h1} from 'react-on-lambda' 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ js рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдРрд╕реЗ рдХреНрд╡рд┐рд░реНрдХреНрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА $ _ рджреЗрд╢реА рдкрд╛рддреНрд░реЛрдВ рдХреА рддрд░рд╣ рд╣реИрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реБрдкрдпреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрдиреЗрдХреНрд╢рди рд╣реИ рдФрд░ рдбреЛрдо рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╣реИред рдФрд░ рд▓реИрдореНрдмреНрдбрд╛ рдореЗрд░реЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЖрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рд┐рдмрд╛рд╕ рдХреЗ рдирд╛рдо рдХреЛ рдЧреНрд░рд╣рдг рдХрд░рддрд╛ рд╣реИред


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


 const title = ╬╗.compose( ╬╗.h1({className: `post-title`}), postLink ) const post = ╬╗.div( title(`How to use react on lambda?`), ╬╗.p(` Lorem ipsum dolor sit amet, Ernestina Urbanski consectetur adipiscing elit. Ut blandit viverra diam luctus luctus... `), postLink(`Read more`) ) render( post, document.getElementById(`app`) ) 

рд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖рдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди, h1 рдФрд░ рдкреЛрд╕реНрдЯрд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ред рдорд╛рди рдХреЛ рд╢реАрд░реНрд╖рдХ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╢реАрд░реНрд╖рдХ рдорд┐рд▓рддрд╛ рд╣реИ: "рд▓реИрдореНрдмреНрдбрд╛ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?"ред рд░рдЪрдирд╛ рдореЗрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд░рд┐рдгрд╛рдо рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рддрдХ рдЬрд╛рддрд╛ рд╣реИред




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


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



╬Ыambda рдкрд░ рдХрд┐рдВрдЧрдбрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рдмрд▓реНрдХрд┐, рдпрд╣ рдПрдХ рд░рд╛рдЬреНрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░рд╛рдЬреНрдп рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрд╛рдЙрдВрдЯреА рд╣реИред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд▓реИрдВрдмрдбрд╛ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдирдирд╛:


рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


  • рдЬреЗрдПрд╕рдПрдХреНрд╕ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ рд╕рдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдЫреЛрдЯрд╛ , 20% рддрдХ рдорд┐рд▓реЗрдЧрд╛;
  • рдХреЛрдИ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ (рдмреИрдмреЗрд▓) рдпрд╛ рдЕрд▓рдЧ рд╡реЗрдмрдкреИрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ;
  • JSX рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рд╣рдЬ рдПрдХреАрдХрд░рдгред

рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдкрд░рд┐рдЪрдп рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рджреЗрдЦреЗрдВ:




RoL рдореЗрдВ рдирд┐рд░реНрдорд╛рдгрд╡рд╛рдж


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрддреНрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЯрд╛рдЗрдк рдХрд░реЗрдВ:


 import ╬╗, {div} from 'react-on-lambda' div({class: `sample`}, `Hello world!`) // you can use class instead className // JSX equivalent <div className=тАЭsampleтАЭ>Hello world!</div> 

рдЧреБрдг рдУрд╡рд░рд▓реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 const span = ╬╗.span({class: `large`}) // -> function span({class: `small`}, `Sorry we changed our mind`) // JSX equivalent <span className="small">Sorry we changed our mind</span> 

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рднреА FP рдмрдиреНрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ╬╗ рдХреЗ рдореМрдЬреВрджрд╛ рдШрдЯрдХреЛрдВ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


 ╬╗(Provider, {store}, app) // JSX equivalent <Provider store={store}><App/></Provider> 

рд╕рднреА рдмрд╛рд▓ рд▓рдВрдмреЛрджрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореВрд▓ рддрддреНрд╡ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛:


 ╬╗.div( ╬╗.div({class: `followers`}), ╬╗.br ) 

рдпрд╣реА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ:


 ╬╗.div( ╬╗.div({class: `followers`})(), ╬╗.br() )() 

рдпрд╣ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рд░реЗрдбрдХреНрд╕ред


рдФрд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдКрдВрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд░рд┐рдПрдХреНрд╢рди-рдСрди-рд▓рд╛рдореНрдмрд╛ рд╕реЗ рд╕рднреА рд╡рд┐рд╖рдп рдХрд░реАрдиреЗ рд╕реЗ рдХрд╛рдо рдХрд┐рдП рдЧрдП рд╣реИрдВред



╬╗.mapKey


MapKey рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


 const pages = [`Home page`, `Portfolio`, `About`] ╬╗.ul( ╬╗.mapKey(╬╗.li, pages) ) // JSX equivalent <ul> {pages.map((item, key) => <li key={key}> {item} </li> )} </ul> 

рдХреБрдВрдЬреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ (рдХреБрдВрдЬреА) рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдЧреА рдФрд░ рд╕рд░рдгреА рд╕реЗ рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреБрдВрдЬреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рддрднреА рд╣реЛрдЧреА рдЬрдм рдХреБрдВрдЬреА рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



╬╗.mapProps


рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рдХрд╛рдлреА рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдХрд╛рд░реНрдп рд╣реИ, рдЗрд╕реЗ рдЕрдиреНрдп рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


 const data = [ {id: 123, name: `Albert`, surname: `Einstein`}, {id: 124, name: `Daimaou `, surname: `Kosaka`}, ] const userList = ╬╗.compose( ╬╗.div({class: `followers`}), ╬╗.ul, ╬╗.mapKey(╬╗.li), ╬╗.mapProps({key: `id`, children: `name`}) ) userList(data) // JSX equivalent const UserList = props => ( <div className="followers"> <ul> {props.data.map(user => <li key={user.id}> {user.name} </li> )} </ul> </div> ) <UserList data={data}/> 


╬╗.log


рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп:


 const userList = ╬╗.compose( ╬╗.div, ╬╗.ul, ╬╗.log(`after mapping`), // -> will log piping value ╬╗.mapKey(╬╗.li) ) 

рдШрдЯрдХ рд╕реНрдЯрд╛рдЗрд▓


рд╕реНрдЯрд╛рдЗрд▓-рдШрдЯрдХреЛрдВ рдХреЗ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрд╡рд░рдг рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рдЗрд▓ рдШрдЯрдХ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:


 import ╬╗ from 'react-on-lambda' const header = ╬╗.h1` color: #ff813f; font-size: 22px; ` const onClick = () => alert(`Hi!`) const app = ╬╗.div( header(`Welcome to React on ╬╗amda!`), ╬╗.button({onClick}, `OK`) ) 

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


рдЦреИрд░ рдпрд╣ рд╕рдм рд╣реИ, рдореБрдЭреЗ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред



рдЕрдкрдирд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕рд╛рде рдкрд╡рд┐рддреНрд░ рдлрд╝рдирдХрд╛рд░ рд╣реЛ!

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


All Articles