Я использую React с Typescript, используя определения «DefinitelyTyped». Недавно я обновился с React v16.0.0 до v16.3.0, используя типы React v16.3.9 (@types/react
).
Раньше мой элемент SVG выглядел так, с enable-background
в качестве атрибута стиля:
import * as React from "react"
export class CaretSvgRight
extends React.PureComponent<React.SVGProps<SVGElement>, object> {
render(){
return <svg
style={{"enable-background":"new 0 0 292.359 292.359"}}
{...this.props}
>
<path d="..."/>
</svg>
}
}
С новыми типами мне пришлось перейти на странно выглядящий тип SVGSVGElement
для цели типа SVGProps, и это потребовало от меня перемещения атрибута enable-background
на уровень SVG
:
import * as React from "react"
export class CaretSvgRight
extends React.PureComponent<React.SVGProps<SVGSVGElement>, object> {
render(){
return <svg
enableBackground="new 0 0 292.359 292.359"
{...this.props}
>
<path d="..."/>
</svg>
}
}
Это выглядит правильно, или я должен сделать что-то другое, чтобы вернуть атрибут enable-background
обратно в атрибуты стиля (были ли ошибки раньше, и этот атрибут должен быть в элементе SVG
, или они неверны сейчас?)
Кажется, не имеет никакого значения, как SVG выглядит в браузере в любом случае (проверено в Chrome) - должен ли я просто удалить все enable-background
и не беспокоиться об этом?