рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд░рд┐рдПрдХреНрдЯ рдХреЗ SyntheticEvent
рд▓рд┐рдП рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ 2.0 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
interface SyntheticEvent<T> {
currentTarget: EventTarget & T;
target: EventTarget;
}
рдкреНрд░рддрд┐рдмрджреНрдз a13fa7abf55daedf25b31258b908548f55962c7a рдХреЗ рдЕрдиреБрд╕рд╛рд░, target
рдореВрд▓ рд░реВрдк рд╕реЗ EventTarget & T
, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рдЧрд▓рддреА рд╕реЗ 5607f54defce88bc52a0440288f434cafffdb5ce рдореЗрдВ рд╡рд┐рд▓рдп рдХреЗ рджреМрд░рд╛рди рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╡рд░реНрддрдорд╛рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░реА-2.0 рдХреЛрдб рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд░рд┐рдПрдХреНрдЯ рдХреЛрдб рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ) рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓рд╛рдн рдХреЗ (рдЪреВрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб event.target
рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорддрд▓рдм рдЕрднреА рднреА рдкреВрд░реНрд╡ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ -2.0 рдХреЛрдб рдЬреИрд╕реЗ (event.target as any).value
, рдХреНрдпреЛрдВрдХрд┐ event.target
рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдПрдХ рдкреИрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ SyntheticEvent.target
рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдбреА-рдЬреЗрдирд░реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрд╣ рд╕рдВрднрд╡рдд: рд╡рд┐рд▓рдп рдХреЗ рджреМрд░рд╛рди рдХреА рдЧрдИ рдЧрд▓рддреА рд╣реИред рдХреГрдкрдпрд╛ рдЬрдирд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред
рджреЗрдЦреЗрдВ #11041, #10784 рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред рдПрдХ рд░рд╣рд╕реНрдп рд╣реИ рдХрд┐ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж рднреА рдпрд╣ рддрдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред
рдЖрдк рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рд▓рдХреНрд╖реНрдп рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдХрдо рдореВрд▓реНрдп рдХрд╛ рд╣реИред
рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдХреА рдЙрддреНрдкрддреНрддрд┐ рд╣реИ (рдЬрд┐рд╕рдХреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрд╡рдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП)
currentTarget рд╡рд╣ рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ рдпрд╛ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕рдВрд▓рдЧреНрди рдХреА рд╣реИрдВ, рдФрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп рдХреЗ рдмрдЬрд╛рдп рд▓рдХреНрд╖реНрдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдПрдХ рд╢реБрд░реБрдЖрддреА рдЧрд▓рддреА рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдХрд╛рдЯ рджреЗрдЧреАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
handleTabClick = (e: React.SyntheticEvent<HTMLLinkElement>) => {
e.preventDefault()
// !!! e.target.dataset is empty if user clicked the <span>, not the <a> !!!
// !!! how can you type e.target? User might also have clicked the <a> if it has padding !!!
// you have to use currentTarget, and it is the element that you know the type for sure
if (e.currentTarget.dataset['closable'] === 'true') {
this.close()
}
}
render() {
return <a onClick={this.handleTabClick} data-closable="true">
<span className="fatty">Click me!</span>
</a>
}
рдпрд╣ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд░реНрдЬ рдХрд┐рдП рдЧрдП 'рдлрд┐рдХреНрд╕' рдХреЗ рд╕рд╛рде, e.currentTarget
рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдЯрд╛рдЗрдк рдПрд░рд░ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛) рдФрд░ e.target
рдХреЛ рдЕрдм HTMLLinkElement рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред (рдореИрдВрдиреЗ рд╕реНрдкреИрди рдХреЛ рдЕрдВрджрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╣рдо SyntheticEvent рдореЗрдВ рджреВрд╕рд░рд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рдХреНрд╖реНрдп рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ (рдИрд╡реЗрдВрдЯ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмрдЪреНрдЪрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдХрдо рдореВрд▓реНрдп рдХрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рд╛рдордХ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ)ред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдмрдЪреНрдЪреЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рде рд╣реА рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд╣реИ, DOMAttributes<SomeType>
, рдЖрдкрдХреЛ onClick
: MouseEventHandler<SomeType>
рдорд┐рд▓рддрд╛ рд╣реИ, рдлрд┐рд░ EventHandler<MouseEvent<SomeType>>
рд╕рд╛рде рдорд┐рд▓рддрд╛ рд╣реИ
interface EventHandler<E extends SyntheticEvent<any>> {
(event: E): void;
}
рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд▓рдХреНрд╖реНрдп рдХреЛ currentTarget рд╕реЗ рдЕрд▓рдЧ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдСрдирдХреНрд▓рд┐рдХ рдПрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдИрд╡реЗрдВрдЯ (рдЙрд░реНрдл рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп) рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
@bbenezech
handleTabClick = (e: React.SyntheticEvent<HTMLLinkElement>) => { ... }
рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:
handleTabClick = (e: React.FormEvent<HTMLLinkElement>) => { ... }
рдЖрдкрдХреЗ рдкрд╛рд╕ ClipboardEvent<T>
, CompositionEvent<T>
, DragEvent<T>
, FocusEvent<T>
, KeyboardEvent<T>
...
рд╕рд┐рдВрдереЗрдЯрд┐рдХрдЗрд╡реЗрдВрдЯ рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдЪреАрдЬ рд╣реИред
рдпрд╣ рдЕрднреА рднреА @types NPM рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдРрд╕рд╛ рд╣реА рд╣реИред рдЗрд╕реЗ рдХрдм рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ
рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред #12239 рджреЗрдЦреЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдк рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рд▓рдХреНрд╖реНрдп рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдХрдо рдореВрд▓реНрдп рдХрд╛ рд╣реИред
рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдХреА рдЙрддреНрдкрддреНрддрд┐ рд╣реИ (рдЬрд┐рд╕рдХреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрд╡рдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП)
currentTarget рд╡рд╣ рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ рдпрд╛ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕рдВрд▓рдЧреНрди рдХреА рд╣реИрдВ, рдФрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп рдХреЗ рдмрдЬрд╛рдп рд▓рдХреНрд╖реНрдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдПрдХ рд╢реБрд░реБрдЖрддреА рдЧрд▓рддреА рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдХрд╛рдЯ рджреЗрдЧреАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдпрд╣ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд░реНрдЬ рдХрд┐рдП рдЧрдП 'рдлрд┐рдХреНрд╕' рдХреЗ рд╕рд╛рде,
e.currentTarget
рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдЯрд╛рдЗрдк рдПрд░рд░ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛) рдФрд░e.target
рдХреЛ рдЕрдм HTMLLinkElement рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред (рдореИрдВрдиреЗ рд╕реНрдкреИрди рдХреЛ рдЕрдВрджрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛редрд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╣рдо SyntheticEvent рдореЗрдВ рджреВрд╕рд░рд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рдХреНрд╖реНрдп рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ (рдИрд╡реЗрдВрдЯ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмрдЪреНрдЪрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдХрдо рдореВрд▓реНрдп рдХрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рд╛рдордХ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ)ред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдмрдЪреНрдЪреЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред