рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рд╕реЗ рдиреЛрдЯ: рд░рд┐рдПрдХреНрдЯ 15 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╣рдореЗрдВ рдПрд╕рд╡реАрдЬреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХрд╛ рдкреВрд░рд╛ рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЕрдиреБрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд┐рд▓рддреА рд╣реИ, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдЯреИрдЧ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ React.DOM.*
рдлрд╝реИрдХреНрдЯрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕рднреА рдЯреИрдЧ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд▓рд╛рдкрддрд╛ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП React.createFactory
рдпрд╛ React.createElement()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ JSX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ React.createElement()
рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕рднреА рдЯреИрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдХреЛрдИ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ? рдореИрдВ filter
рдЯреИрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВред
preserveAspectRatio
рднреА рдЧрд╛рдпрдм рд▓рдЧрддрд╛ рд╣реИ: http://jsfiddle.net/jonase/kb3gN/3025/
рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдкрд╣рд▓реЗ рд╕рднреА рд▓рд╛рдкрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ/рдЯреИрдЧ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рд╣реА рдкреИрдЪ рдмрдирд╛рддреЗ рд╣реИрдВ?
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] PreserveAspectRatio рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ https://github.com/facebook/react/commit/0f0328f0930d7fcf0b92cde40b1d6966cd747054
рдирдорд╕реНрддреЗред
рдорд╛рд░реНрдХрд░* рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ #1738 рдореЗрдВ @cassus рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдВрдмрдВрдзрд┐рдд <marker>
SVG рддрддреНрд╡ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker
рдореБрдЭреЗ рдЕрднреА рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд▓реЛрдХрди рд╣реИ: http://tutorials.jenkov.com/svg/marker-element.html
рдпрд╣ "рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВ рдХреНрдпреЛрдВрдХрд┐ 1 рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рд╛рде рд╕реЗ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╛ рддреЛ рд╣рд░ рдЪреАрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ (рдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рд╕реЗрдЯ рдЕрднреА рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдлрд┐рд░ рд╡рд╣рд╛рдВ рдлреНрд░реАрдЬ рдХрд░реЗрдВ)ред
рдореИрдВрдиреЗ _almost_ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП http://www.w3.org/TR/2003/REC-SVG11-20030114/attindex.html рд╕реНрдХреНрд░реИрдк рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдпрд╛: https://github.com/zpao/ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рддреБрд▓рдирд╛/рдмрдХрд╡рд╛рд╕-svg.
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╣рдорд╛рд░реЗ рдорд┐рдиреАрдлрд╛рдЗрдб рдмрд┐рд▓реНрдб рдореЗрдВ ~ 2kb рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреНрд░рд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рдореИрдВ рдЕрднреА рдЙрд╕ рдЖрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рд╣рдордиреЗ рдПрдХ рдЕрд▓рдЧ SVG рдмрд┐рд▓реНрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИред рдпрд╛ рд╢рд┐рдкрд┐рдВрдЧ рдХрд┐ рдЕрд▓рдЧ рд╕реЗ рдПрдХ рдРрдбрдСрди рдХреЗ рд░реВрдк рдореЗрдВред
@zpao рддреБрдо рд╕рд╣реА рд╣реЛред рдкреВрд░реНрдг SVG рд╕рдорд░реНрдерди рдПрдХ рдРрдбрдСрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рдЪреЗрддрд╛рд╡рдиреА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред DOM.circle React.SVG.circle рдмрди рдЬрд╛рдПрдЧрд╛
React.SVG.circle рдХреЗ рд▓рд┐рдП +1
@zpao
рдПрдХ рдкреВрд░реНрдг рдПрд╕рд╡реАрдЬреА рдРрдб-рдСрди рдПрдХ рдЕрдЪреНрдЫреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХрд┐рд╕реА рдПрд╕рд╡реАрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдорд░реНрдерди рдкрд░ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
+1
рдЫрд╡рд┐ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1
рдЫрд╡рд┐ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рднреА +1
<use>
рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1ред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ svg рдЖрдЗрдХрди рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП dangerouslySetHTML
рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╡реЗрдВрдЯ рдмрдмрд▓рд┐рдВрдЧ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
strokeDashoffset
рдЧреБрдо рд╣реИред рдореИрдВ рдЗрд╕реЗ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: http://codepen.io/JMChristensen/pen/Ablch
strokeDashoffset
рд▓рд┐рдП +1
рдЗрд╕реЗ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣реА alignment-baseline
рдЬрдм рд╕рд╛рде рдХрд╛рдо рдХрд░ <text>
рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ http://www.w3.org/TR/SVG/Overview.html рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреНрд░реИрд╡реЗрд▓ рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛рд╢рдХреНрддрд┐ рд╣реИ? (рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдпреВрдЖрд░рдПрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ ...)
рдПрдХ рдФрд░ рдорджрдж рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рд╕реНрд░реЛрдд-рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХрд╣рд╛рдВ рдмрджрд▓рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рдЖрд╕рд╛рди рд╣реЛред
FWIW, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрднреА рднреА рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
<path style={{strokeDashoffset: 100}} />
@syranide рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ (рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЧрд▓рдкрди рд╣реЛрдЧрд╛) - https://github.com/zpao/react/compare/fuck-svgред рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рд▓рдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред
@ThomasDeutsch рдкрд┐рдЫрд▓реЗ SVG рд╕рдВрдмрдВрдзрд┐рдд рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рджреЗрдЦреЗрдВред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдпреЛрдЬрдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдКрдВрдЧрд╛ (рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реВрдВрдЧрд╛)ред
рдЯреЗрдХреНрд╕реНрдЯрдкрд╛рде рдХреЗ рд▓рд┐рдП +1 - рдореБрдЭреЗ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЕрднреА рдореИрдВ рдПрдХ рдмреБрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рд░рд┐рдПрдХреНрдЯ рдПрд╕рд╡реАрдЬреА рдкреНрд▓рдЧрдЗрди рдкреИрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА
:+1: рдкреВрд░реНрдг рдПрд╕рд╡реАрдЬреА рдРрдб-рдСрди рдХреЗ рд▓рд┐рдПред рдХреЛрдИ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдХрдм рд╢рд┐рдк рд╣реЛрдЧрд╛?
рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП +1
рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП +1
рд╡рд┐рд╢реЗрд╖рддрд╛ xlink:href
svg sprites рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
<use>
рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ https://www.npmjs.org/package/react-inlinesvg рдПрдХ
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ: рдорд╛рд╕реНрдХрдЗрдХрд╛рдЗрдпрд╛рдБ рдФрд░ рдорд╛рд╕реНрдХ рд╕рд╛рдордЧреНрд░реА рдЗрдХрд╛рдЗрдпрд╛рдБ (# 2056)
рдореБрдЦреМрдЯрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ #2535
patternTransform
рдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ text-anchor
рдЯреЗрдХреНрд╕реНрдЯрдкрд╛рде рдХреЗ рд▓рд┐рдП +1
svg рдЖрдЗрдХрди рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП <use>
рд▓рд┐рдП +1ред
рдПрдХ рдПрд╕рд╡реАрдЬреА рдРрдб-рдСрди рдХреЗ рд▓рд┐рдП +1ред рдореБрдЭреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП <clipPath>
, рд▓реЗрдХрд┐рди рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╡реНрдпрд╛рдкрдХ рдРрдб-рдСрди рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред
рдРрдб-рдСрди рдХреЗ рд▓рд┐рдП +1ред
рд╣рдо рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрд╕рд╡реАрдЬреА рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдПрд╕рд╡реАрдЬреА рдРрдб-рдСрди рдПрдХ рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред
рдЯреЗрдХреНрд╕реНрдЯрдкрд╛рде рдХреЗ рд▓рд┐рдП +1 рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд░реНрдг svg рд╕рдорд░реНрдердиред
рдЬрдм рддрдХ рдПрд╕рд╡реАрдЬреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддрдм рддрдХ рд░рд┐рдПрдХреНрдЯ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рди рдПрд╕рд╡реАрдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <use>
рдХреЛ рдЗрд╕ рддрд░рд╣ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
var DOMProperty = require('react/lib/DOMProperty');
// xlink:href is not a standardly-supported svg attribute, but you can tell
// React that it is ok.
DOMProperty.injection.injectDOMPropertyConfig({
isCustomAttribute: function (attributeName) {
return (attributeName === 'xlink:href');
}
});
var SvgButton = React.createClass({
render: function render() {
var use = React.createElement('use', {
'xlink:href': '#' + this.props.icon
});
return (
<button>
<svg>
{ use }
</svg>
<div>{ this.props.label }</div>
</button>
);
});
@jeffkole рдРрд╕рд╛ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ - рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА setAttribute (setAttributeNS рдирд╣реАрдВ) рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧреА, рдФрд░ рдЕрдкрдбреЗрдЯ рд╢рд╛рдпрдж рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
@spicyj рдореБрдЭреЗ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ (рдпрд╛рдиреА, рдХреЛрдбрдмреЗрд╕ рдореЗрдВ setAttributeNS
рдХреЛрдИ рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ)ред рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЙрдЪрд┐рдд рддрд░реАрдХреЗ рдкрд░ рдХреЛрдИ рд╕реБрдЭрд╛рд╡?
рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдиреЗрдорд╕реНрдкреЗрд╕реНрдб рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреА рдФрд░ рдЕрднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
vector-effect
рдЕрдЪреНрдЫрд╛ рд░рд╣реЗрдЧрд╛ред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рдЪреМрдбрд╝рд╛рдИ рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░реЛрдХ рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдмреАрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП +1
рдЯреЗрдХреНрд╕реНрдЯ рдмреЗрд╕рд▓рд╛рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рдореЗрд░реЗ рдкреАрдЖрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛: #2697
рдУрд╣ рд╢рд┐рдЯ рдореБрдЭреЗ use
рдЯреИрдЧ рдЪрд╛рд╣рд┐рдП: рдирд┐рд░рд╛рд╢:
рдореИрдВрдиреЗ рдПрдХ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдЗрд╕реНрддреАрдлрд╛ рджреЗ рджрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
<svg dangerouslySetInnerHTML={{ __html: '<use xlink:href="#' + this.props.icon + '"/>' }} />
рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
:+1: рдЗрд╕ рдкрд░
Addons рдореЗрдВ рдкреВрд░реНрдг svg рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1 рдЪрд╛рд▓реВ рдХрд░реЗрдВ
:+1:
@zpao @spicyj рдЗрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрд╕рд╡реАрдЬреА рддрддреНрд╡реЛрдВ рдХреЛ рдмрдВрджрд░-рдкреИрдЪрд┐рдВрдЧ ReactDOM
рдФрд░ SVGDOMPropertyConfig
рдмрд┐рдирд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХрд╛ рд╣реИ?
рдирд╣реАрдВ, рдорд╛рдл рдХрд░рд┐рдПред
рдЫрд╡рд┐ рдФрд░ рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП +1
рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП +1
animate
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЗрд╕рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate
рдРрдбрдСрди рдореЗрдВ рдПрд╕рд╡реАрдЬреА рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдмрд╕ рдЖрдЬ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ :-(
cc @xymostech @MichelleTodd
рдирд╛рдорд╛рдВрдХрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП +1ред
Addons рдореЗрдВ рдкреВрд░реНрдг svg рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1 рдЪрд╛рд▓реВ рдХрд░реЗрдВ
+1000 рдПрд╕рд╡реАрдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП :-)
рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1
рд╡рд┐рд╢реЗрд╖рддрд╛ "рднрд░рдиреЗ-рдирд┐рдпрдо" рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз, рд╢рд╛рдпрдж "рднрд░рдиреЗ рдХреЗ рдирд┐рдпрдо" рдХреЗ рд░реВрдк рдореЗрдВ
рдПрдХ рдПрд╕рд╡реАрдЬреА рдПрдбрдСрди рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ: +1:
рд░рд┐рдПрдХреНрдЯ рдХреЛрд░ рдЯреАрдо, рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдХреЛрдИ рд╣рд▓рдЪрд▓/рдЪрд░реНрдЪрд╛ рд╣реИ?
рдЗрд╕ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ #3718, #3763 рджреЛрдиреЛрдВ рд╣реА SVG рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ #3067 рднреА рдЗрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдкреВрд░реНрдг рдПрд╕рд╡реАрдЬреА рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1ред рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдорд╛рд░реНрдХрд░ рддрддреНрд╡ рднреА рдЧрд╛рдпрдм рд╣реИ (https://developer.mozilla.org/en/docs/Web/SVG/Element/marker)
@ersagunkuruca рдЗрд╕ рдмреАрдЪ https://gist.github.com/akre54/80eaa63762ea499029f0 рдЖрдЬрд╝рдорд╛рдПрдВ
:+1: рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд▓рд┐рдП!
рдПрд╕рд╡реАрдЬреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП +1ред
:+1
рдПрдирд┐рдореЗрдЯ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?
<path
d="M120 60c0-31.13-26.86-60-60-60">
<animateTransform
attributeName="transform"
type="rotate"
from="0 60 60"
to="360 60 60"
dur="1.5s"
repeatCount="indefinite" />
</path>
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
<path d="M120 60c0-31.13-26.86-60-60-60" data-reactid=".0.0.0.1.6.0.0.$0.0.0.2">
<animateTransform type="rotate" data-reactid=".0.0.0.1.6.0.0.$0.0.0.2.0"></animateTransform>
</path>
рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП +1
+рд╕рднреА рдПрд╕рд╡реАрдЬреА рд╕рдорд░реНрдерд┐рдд
рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП +1
рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1!
рдирд╛рдорд╛рдВрдХрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП +1
+1 use
рдФрд░ filter
рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
<image>
рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП +1ред рдореБрдЭреЗ рдПрдХ рдЗрдирд▓рд╛рдЗрди рдПрд╕рд╡реАрдЬреА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдкрде рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЫрд╡рд┐ рд╣реИ, рдФрд░ рдпрд╣ <svg>
рдЯреИрдЧ рдореЗрдВ xmlns:xlink="http://www.w3.org/1999/xlink"
attr рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред
filter
рд▓рд┐рдП +1
@zpao рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдХрдо рд╕реЗ рдХрдо, рдХреНрдпрд╛ рд╣рдо рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдУрдкреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ рд▓реЗрдХрд┐рди @zpao рдХреА рдЯрд┐рдкреНрдкрдгреА рджрдлрди рд╣реИ (рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ рдХрд╛рдо рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЪреБрдХрд╛ рд╣реИ) рдФрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИред
@zpao рдХреА рдЯрд┐рдкреНрдкрдгреА рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИ рдХрд┐ рдПрдХ рдПрдбрди рдХреНрдпреЛрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрднреА рднреА рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдорд╛рд░реНрдХрд░ рдХреЗ рд▓рд┐рдП +1: refx, refy, рдЙрдиреНрдореБрдЦ
рдкрд╛рда рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП +1: рдШреБрдорд╛рдПрдБ, рдкреНрд░рдореБрдЦ-рдЖрдзрд╛рд░ рд░реЗрдЦрд╛
http://www.w3.org/TR/SVG/text.html#TextElementRotateAttribute
+1 рдПрдбрдСрди
+1 рдПрдбрдСрди
рджрд░рдЕрд╕рд▓ рд░рд┐рдПрдХреНрдЯ рдХреЛрд░ 'рд░рд┐рдПрдХреНрд╢рди' рдФрд░ рдбреЛрдо 'рд░рд┐рдПрдХреНрд╢рди-рдбреЛрдо' рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИ, рдФрд░ рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 'рд░рд┐рдПрдХреНрд╢рди-рдПрд╕рд╡реАрдЬреА' рдЖрдЦрд┐рд░ рдореЗрдВ рдХрд╣рд╛рдВ рдЖрдПрдЧрд╛
рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП +1ред
vector-effect
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреГрдкрдпрд╛
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рд╡реАрдЬреА рдЯреИрдЧ/рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЦрд░рд╛рдм рдореЙрдбрд▓ рд╣реИред рдпрд╣ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкреГрд╖реНрда рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдПрд╕рд╡реАрдЬреА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ dangerouslySetInnerHTML
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдБ рдХреБрдЫ рдЪреАрдЬрд╝реЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ:
_рдЯреИрдЧ:_
feMorphology
feOffset
feColorMatrix
feMerge
feMergeNode
_рдЧреБрдг:_
filterUnits
stdDeviation
values
in
operator
рдФрд░ рд╢рд╛рдпрдж рджреЛрдиреЛрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХред рд╡реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд╕рд╡реАрдЬреА рдХреЛрдб рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
vector-effect
рд▓рд┐рдП +1
stdDeviation
рд▓рд┐рдП +1
рдПрдХ рдЕрд▓рдЧ рдФрд░ рдкреВрд░реНрдг React.SVG рдХреЗ рд▓рд┐рдП +1ред рдореИрдВ рдЕрдм рддрдХ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдПрд╕рд╡реАрдЬреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдорд░реНрдерди рдХреА рдЕрдкреВрд░реНрдгрддрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЕрд░реНрдз-рдЬрдЯрд┐рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд╛рдиреЗ рджреЗрддреА рд╣реИред
@spicyj рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рдХреГрдкрдпрд╛ рдХрд╕ рдХрд░ рдкрдХрдбрд╝реЗрдВред
рдПрдирд┐рдореЗрдЯ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП +1
рд╣рд╛рд╡реА-рдЖрдзрд╛рд░ рд░реЗрдЦрд╛ рдХреЗ рд▓рд┐рдП +1 (#3199.)
рдЬреИрд╕реЗ @zpao рдиреЗ рдХрд╣рд╛, рд╣рдо рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдм рддрдХ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдХрд░ рджреЗрдВред
рдпрд╣ https://github.com/facebook/react/pull/5714 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
focusable
рдФрд░ vector-effect
) #6267 рдореЗрдВ рдЬреЛрдбрд╝реЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпреЗ рдмрджрд▓рд╛рд╡ v15 рдореЗрдВ рдЖрдПрдВрдЧреЗредрджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ _tag_ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдм рддрдХ рдореИрдВ <marker>
, <textPath>
, <feGaussianBlur>
рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рдЕрдиреНрдп рдЯреИрдЧ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдмрд┐рдирд╛ рдЬреБрдбрд╝реЗ рдкреАрдЖрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ fbjs
рдЕрднреА рднреА рдПрдХ рдПрд╕рд╡реАрдЬреА рдЯреИрдЧ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХреЛрдбрдмреЗрд╕ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЧрд╛рдпрдм рдЯреИрдЧ рдЖрдЬ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ @zpao рдпрд╛ @spicyj рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреНрдпрд╛ #6243 рдХреЛ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рд▓рд╛рдкрддрд╛ рдЯреИрдЧ рднреА рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдмрд╣реБрдд рдХрдо рдЕрдиреБрд░реЛрдз рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреЛ рджреЛрдиреЛрдВ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рд╣реИрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдЕрдЧрд░ рдХреБрдЫ рдЕрднреА рднреА рдЕрдВрддрд┐рдо v15 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдмрддрд╛рдПрдВред
рдпрд╣ рдиреЛрдЯ v15 RC1 рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА SVG рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ xlink:href
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рднреНрд░рдо рд╣реИред рдпрд╣ _is_ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:
<use xlinkHref="#shape" x="50" y="50" />
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрд╕реЗ xlink:href
рдореЗрдВ рдмрджрд▓ рджреЗрдЧреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 0.14.x рдореЗрдВ рднреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣реЗрд▓реА рджреЗрдЦреЗрдВред
рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рдлрд╝рд┐рд▓реНрдЯрд░ рддрддреНрд╡реЛрдВ рдЬреИрд╕реЗ feFuncR
, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ ( slope
, intercept
, рдЖрджрд┐) рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ 15.0-рдЖрд░рд╕реА2 рдореЗрдВ рдареАрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 0.14.рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╣рд▓реЗ react
/ react-dom
рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ react/lib/SVGDOMPropertyConfig
рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЕрдкрдиреЗ рдЖрдкред рдЬреИрд╕реЗ:
// Needed to set correct xmlns on <svg> and to preserve attributes on feFunc*.
// Required for 0.14.x. May become unnecessary with 15.x
var SVGDOMPropertyConfig = require("react/lib/SVGDOMPropertyConfig");
var DOMProperty = require("react/lib/DOMProperty");
var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
SVGDOMPropertyConfig.Properties.in = MUST_USE_ATTRIBUTE;
SVGDOMPropertyConfig.Properties.intercept = MUST_USE_ATTRIBUTE;
SVGDOMPropertyConfig.Properties.slope = MUST_USE_ATTRIBUTE;
SVGDOMPropertyConfig.Properties.xmlns = MUST_USE_ATTRIBUTE;
var React = require("react");
var render = require("react-dom").render;
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╣реИрдХ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ dangerouslySetInnerHTML
рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЦреБрд▓рд╛ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдореВрд▓реА рдпрд╛ рдкреИрдЪ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдкрд░ред рдЕрдЧрд░ рдЕрднреА рднреА рдХреБрдЫ рдЫреВрдЯ рд░рд╣рд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЙрд╕реЗ рдЬреЛрдбрд╝ рджреЗрдВред рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЖрдкрдХреЛ 15 RC2 рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓ред рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ 15 рдЖрд░рд╕реА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЖ рдЬрд╛рддреЗред
v15.0 рдореЗрдВ (рд▓рдЧрднрдЧ) рдкреВрд░реНрдг SVG рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЦреБрд╢ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдирд╛рдорд╛рдВрдХрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЬреИрд╕реЗ xmlns
рдФрд░ xmlnsXlink
рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╕рдордп рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛ рд╕рдХреАрдВ, рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рддреЗ рд╕рдордп рдареАрдХ рд╣реИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ svg
ред
рдпрджрд┐ рдЖрдк рдПрдХ .svg
рдЫрд╡рд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
ReactDOMServer.renderToStaticMarkup(<MyCustomSVG />)
рддреЛ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд░рдирд╛, рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╢рд╛рдпрдж рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐:
...
document.createElement
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдореЗрдВ рдЕрдм рдПрд╕рд╡реАрдЬреА рдЯреИрдЧ рдХреА рд╕реВрдЪреА рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдПрд╕рд╡реАрдЬреА рдЯреИрдЧ рдЬреЛ рдкрд╣рд▓реЗ рдЕрд╕рдорд░реНрдерд┐рдд рдереЗ, рдЙрдиреНрд╣реЗрдВ рд░рд┐рдПрдХреНрдЯ 15 рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ document.createElementNS
ред
рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВред createElementNSред
рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди createElementNS
рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдо <svg>
рдЯреИрдЧ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ JSFiddle рдХреЗ рд╕рд╛рде рдЬреЛ рдЗрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж!
рдзрдиреНрдпрд╡рд╛рдж @gaearonред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдпрд╣ рд╣реЛрддрд╛ рд╣реИ svg
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ ReactDOM
ред рд╕рдВрднрд╡рдд: рдпрд╣ рдореБрджреНрджрд╛ ReactDOMServer
ред
рдпрд╣рд╛рдВ рдПрдХ рдкреЗрди рд╣реИ рдЬреЛ рдкреНрд░рд╕реНрддреБрдд SVG
рдФрд░ renderToStaticMarkup()
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрдо рд╕реЗ рдХрдо xmlNS
рдФрд░ xmlnsXlink
attrs рдЧрд╛рдпрдм рд╣реИред
рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рджрд╛рдпрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рд╣рд╛рдБ, xmlns
рдФрд░ xmlns:Xlink
рдЧрд╛рдпрдм рд╣реИрдВред https://github.com/facebook/react/pull/6471 рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИрдВред
рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдорд░реНрдерд┐рдд рдЯреИрдЧ рдХреА рд╕реВрдЪреА рдореЗрдВ <animate>
рдФрд░ <animateTransform>
рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪреБрдирд╛?
@shilpan
рд╕рднреА рдЯреИрдЧ рдЕрдм рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╕реВрдЪреА рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдЯреИрдЧ React.DOM.*
рдлрд╝реИрдХреНрдЯрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд SVG рддрддреНрд╡ React.DOM рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ
(рдЬреЛрд░ рдореЗрд░рд╛)
рдпрджрд┐ рдЖрдк JSX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИтАФ <animate>
рдФрд░ <animateTransform>
рд▓рд┐рдЦрдирд╛ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ JSX React.DOM.*
рдХрд╛рд░рдЦрд╛рдиреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк JSX рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк React.createElement('animate', ...)
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдлрд╝реИрдХреНрдЯрд░реА рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдБ: var animate = React.createFactory('animate")
ред
+1 xmlns
рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП .... рдЗрд╕ рдмреАрдЪ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдХрд╛рдордХрд╛рдЬ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ (рдЬрд┐рд╕реЗ рдореБрдЭреЗ рдЖрдИрдИ 9-11 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рддреЛ рдореИрдВ рдпрд╣реА рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВ:
// explicitly build the SVG to be rendered here so we don't lose the NS
const stringifiedSvg = `<svg xmlns="http://www.w3.org/2000/svg" class="svgClass">
<use xlink:href="#linkToSymbolId"></use>
<svg/>`
return <div dangerouslySetInnerHTML={{__html: stringifiedSvg}}/>
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐
xlink:href
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рднреНрд░рдо рд╣реИред рдпрд╣ _is_ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрд╕реЗ
xlink:href
рдореЗрдВ рдмрджрд▓ рджреЗрдЧреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 0.14.x рдореЗрдВ рднреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣реЗрд▓реА рджреЗрдЦреЗрдВред