我正在尝试使用kristerkari / react-native-svg-transformer,但是运行地铁后出现以下错误:
error: assets/menu.svg: /user/Projects/mobile/assets/menu.svg: Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.
2 | import Svg, { Path } from "react-native-svg";
3 |
> 4 | const SvgComponent = props => <Svg overflow="visible" preserveAspectRatio="none" viewBox="0 0 24 24" width={24} height={24} {...props}><Path xmlns:default="http://www.w3.org/2000/svg" d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" vectorEffect="non-scaling-stroke" fill="#949494" /></Svg>;
| ^^^^^^^^^^^^^
5 |
6 | export default SvgComponent;
我按照指示进行。我正在使用React 16.13.1和RN 0.63.2。我试图像这样在babel.config.js中设置标志:
module.exports = {
presets: [
'module:metro-react-native-babel-preset',
{ throwIfNamespace: false },
],
};
但它不起作用。任何想法如何绕过警告或可能的替代方法,而无需运行时转换就可以导入SVG文件?
我过去也遇到过同样的问题,不确定是否是正确的解决方法,但是删除xmlns
svg文件中的对该我来说很有效
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句