を使用してSVGをインポートし、反応コンポーネントとして使用しています。問題は、これらのSVGを別のSVGに埋め込む必要があることです。ルートタグsvg
をsymbol
に変換したいと思います。 SVGをそのままインポートすると、SVGタグのネストされた結果が得られます。技術的にはうまくいくが、私のターゲット実装(phantomjs)のための多くの癖がないわけではない。ここではいくつかの架空の使用量はこれが何をレンダリングするインポートされたサードパーティの反応コンポーネントのtagNameを変更するにはどうすればよいですか?
import Flag from 'images/icons/flag.svg'
export default() => {
return (
<svg>
<Flag/>
<text>Foo</text>
</svg>
)
}
だ私はむしろuse xlink:href
を使用したいが、私は、タグ名のシンボルに
を持っているサードパーティ製のlibによって生成されたルート要素を変換する必要があるだろう私が行うことができるようにしたいのですがどのような
<svg>
<svg>
<!-- contents of svg -->
</svg>
<text>Foo</text>
</svg>
は、それは三菱UFJ証券
import Flag from 'images/icons/flag.svg'
export default() => {
return (
<svg>
<defs>
<Flag as="symbol" id="flag"/>
</defs>
<use xlinkHref="#flag"/>
<text>Foo</text>
</svg>
)
}
ですサードパーティのライブラリのルート要素のtagNameを変更する必要があるのは本当に一般的なケースです。何もない場合は、セマンティックエレメント名を使用して、ariaタグを追加するだけです。
リアクションコンポーネントのtagNameを変更するにはどうすればよいですか?