Javascript SVGR(SVGO)移除属性不会移除指定的填充属性

Javascript SVGR(SVGO)移除属性不会移除指定的填充属性,javascript,reactjs,react-native,svg,svgo,Javascript,Reactjs,React Native,Svg,Svgo,即使在.svgo.yml中指定了removeAttrs,填充属性也不会在最终输出中被删除。这会在尝试从传递到生成组件的道具更新填充时引发问题,如下所示: <Activity fill="red" /> .svgrrc.yml 图标:false 本地人:是的 typescript:true 维度:正确 扩展道具:“结束” 参考:是的 备忘录:是的 package.json用于从assets文件夹生成图标的脚本: “图标”:“npx@svgr/cli-d src/

即使在
.svgo.yml
中指定了
removeAttrs
,填充属性也不会在最终输出中被删除。这会在尝试从传递到生成组件的道具更新填充时引发问题,如下所示:

<Activity fill="red" />
.svgrrc.yml

图标:false
本地人:是的
typescript:true
维度:正确
扩展道具:“结束”
参考:是的
备忘录:是的
package.json
用于从
assets
文件夹生成图标的脚本:

“图标”:“npx@svgr/cli-d src/icons资产”
资产SVG之一:


生成的反应本机图标组件示例:

import * as React from 'react';
import Svg, {SvgProps, Path} from 'react-native-svg';

function SvgActivity(
  props: SvgProps,
  svgRef?: React.Ref<React.Component<SvgProps>>,
) {
  return (
    <Svg width={24} height={24} fill="none" ref={svgRef} {...props}>
      <Path
        fill="#200E32"
        fillRule="evenodd"
        d="M17.18 4.41c0-1.33 1.08-2.41 2.41-2.41S22 3.08 22 4.41s-1.08 2.41-2.41 2.41-2.41-1.08-2.41-2.41zm-3.85 10.35l2.89-3.73-.04.02c.16-.22.19-.5.08-.75a.737.737 0 00-.61-.44.768.768 0 00-.7.31l-2.42 3.13-2.77-2.18a.79.79 0 00-.57-.16.775.775 0 00-.5.3l-2.96 3.85-.06.09a.747.747 0 00.21.95c.14.09.29.15.46.15.23.01.45-.11.59-.3l2.51-3.23 2.85 2.14.09.06c.32.17.72.09.95-.21zm2.12-10.98c-.04.25-.06.5-.06.75 0 2.25 1.82 4.07 4.06 4.07.25 0 .49-.03.74-.07v8.07c0 3.39-2 5.4-5.4 5.4H7.4C4 22 2 19.99 2 16.6V9.2c0-3.4 2-5.42 5.4-5.42h8.05z"
        clipRule="evenodd"
      />
    </Svg>
  );
}

const ForwardRef = React.forwardRef(SvgActivity);
const MemoForwardRef = React.memo(ForwardRef);
export default MemoForwardRef;
import*as React from'React';
从“react native Svg”导入Svg,{SvgProps,Path};
功能活性(
道具:SvgProps,
svgRef?:React.Ref,
) {
返回(
);
}
const ForwardRef=React.ForwardRef(SvgActivity);
const memorForwardRef=React.memo(ForwardRef);
导出默认的memorforwardref;

链接到repo:

事实证明,创建
.svgo.yml
的正确方法没有如下连字符:

插件:
删除内容:
属性:“路径:填充”
sortAttrs:是的
removeXMLNS:对

原始答案:

事实证明,创建
.svgo.yml
的正确方法不需要这样的连字符:

插件:
删除内容:
属性:“路径:填充”
sortAttrs:是的
removeXMLNS:对

原始答案:

无论如何,我不是这方面的专家,但我注意到,在文档和要点中,我发现插件下的规则应该只使用空格缩进,而不使用连字符。因此,在
removeAttrs
之前有一个连字符,但在该行下方的
attrs
之前没有连字符。这解决了问题吗?是的,删除连字符完全解决了问题!好极了。很高兴这起作用了。如果我是你,我可能会接受你自己的答案。(你可以这么做!)我不是这方面的专家,但我注意到,在文档和要点中,我发现插件下的规则应该只缩进空格,而不在前面加连字符。因此,在
removeAttrs
之前有一个连字符,但在该行下方的
attrs
之前没有连字符。这解决了问题吗?是的,删除连字符完全解决了问题!好极了。很高兴这起作用了。如果我是你,我可能会接受你自己的答案。(你可以做到!)