Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React忽略svg元素上的xmlns属性_Javascript_Svg_Reactjs - Fatal编程技术网

Javascript React忽略svg元素上的xmlns属性

Javascript React忽略svg元素上的xmlns属性,javascript,svg,reactjs,Javascript,Svg,Reactjs,我有一个生成SVG的React组件: const SVG = (props) => ( <svg xmlns="http://www.w3.org/2000/svg" { ...props }> {/* ... */} </svg> ) constsvg=(道具)=>( {/* ... */} ) 我使用这个组件直接在页面上显示内联SVG。我也希望能够将SVG导出为.SVG文件。我试过这个: con

我有一个生成SVG的React组件:

const SVG = (props) => (
    <svg
        xmlns="http://www.w3.org/2000/svg"
        { ...props }>
        {/* ... */}
    </svg>
)
constsvg=(道具)=>(
{/* ... */}
)
我使用这个组件直接在页面上显示内联SVG。我也希望能够将SVG导出为.SVG文件。我试过这个:

const markup = renderToStaticMarkup(<SVG />) // imported from 'react-dom/server'
const markup=renderToStaticMarkup()//从“react dom/server”导入
然后我对这个标记进行编码,并将其放在一个基本链接元素中。它工作正常,但是SVG文件不正确。React删除
xmlns
属性,这是将SVG用作图像所必需的


如何使用我的组件正确导出SVG文件?我找到的唯一解决方案是使用正则表达式将属性添加到呈现的标记中,但这非常难看/

我一直在等待,因为我知道完整的SVG支持,但我发现(是的,有比以前更多的支持,但是)由于某种原因,缺少了名称空间属性,如:
xmlns
xmlnsXlink
。出于同样的目的,我需要使用
.svg
作为图像。一个优雅的解决方案是创建一个“svg”React组件,其中包含作为道具传递的基本svg属性,当然还包括这个属性