React(15.0.1)を使用するWebアプリケーションでグラフィック要素<rect>
にSVGフィルタ(この場合は<feGaussianBlur>
)をロードしようとしています。 component2.jsでSVGフィルタをReactでレンダリングできません
render(){
return(
<defs>
<filter id='blur'>
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
<component2 />
);
}
:コードはcomponent1.jsでこの
に似たものになります
render(){
<rect x="some_xpos"
y="some_ypos"
height="some_height"
width="some_width"
filter="url(#blur)"
>
</rect>
}
これらのすべてのコンポーネントが同じhtmlページに何とかレンダリングされますページ全体がレンダリングされるときにフィルタは適用されません。私は、さまざまなオプションに見てきました:
- オプション1:パブリックURLを使用していることを公共財のフォルダと
url()
に、独自の.svgファイルへのSVGフィルタをエクスポートします。 Chromeのバグのために動作しませんでしたlink - option2:アプリケーション全体がレンダリングされる主な(そして唯一の)index.htmlファイルに
<filter>
を入れてください。私はまた、それ自身の<svg>
タグで囲まれた一番上に置きました。うまくいきませんでした。
<rect>
は、フィルタがどこにあるのかわかりませんでした。私はこれをデバッグする方法や、svgフィルタをロードするための代替方法に関するアドバイスを感謝します。
あなたはjsfiddle.netのようないくつかのサービスにエラーを再現するテストケースを示している場合それは良いだろう[https://でjsfiddle。 net/pmvo81ac /] –
リンクのおかげで、それを再現しようとします –
私はそれが ' 'の小文字の 'c'だと信じています。資本C ' 'でうまく動作します:https://jsfiddle.net/pmvo81ac/1/ –
pawel