我正在尝试将 SVG 过滤器(在本例中)加载到使用 React(15.0.1) 的 Web 应用程序中的<feGaussianBlur>图形元素。<rect>代码看起来与此类似
在 component1.js 中:
render(){
return(
<defs>
<filter id='blur'>
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
<component2 />
);
}
Run Code Online (Sandbox Code Playgroud)
在 component2.js 中:
render(){
<rect x="some_xpos"
y="some_ypos"
height="some_height"
width="some_width"
filter="url(#blur)"
>
</rect>
}
Run Code Online (Sandbox Code Playgroud)
所有这些组件都将在同一个 html 页面上呈现,但不知怎的,当整个页面呈现时,过滤器并未应用。我研究了不同的选择:
url()使用公共 url。由于 Chrome 错误链接而无法使用<filter> 整个应用程序呈现的主(也是唯一一个)index.html 文件中。我还将其放在最顶部,用自己的<svg>标签包裹起来。没用。在我看来,<rect>无法弄清楚过滤器在哪里。我将不胜感激任何关于如何调试这个或加载 svg 过滤器的替代方案的建议。