Какова правильная структура для «включить фон» элемента SVG?

Я использую 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 и не беспокоиться об этом?


person Shorn    schedule 12.04.2018    source источник