2017-05-23 18 views
0

文字列からSVGを読み込み、dangerouslySetInnerHTMLを使用して表示しています。それは正常に動作しますが、解決できない問題が1つあります。インラインSVGにアクセス

SVGには<g>が含まれており、Reactによって処理されるクリックハンドラを追加する必要があります。

SVGはReactによって構築されていないので、グループにクリックハンドラを追加する方法が見つかりませんでした。

+0

svg文字列を変更できますか?つまり、svgの作成に使用する文字列に 'onClick = ...'を追加できますか? –

答えて

1

findDOMNodecomponentDidMountを使用してDOM要素にアクセスできます。

componentDidMount() { 
    const nodeList = ReactDOM.findDOMNode(this).getElementsByTagName('g') 
    // Do things with nodeList here, e.g. map over and attach click event 
} 
+0

ありがとう、素晴らしい作品! – schneck

関連する問題