react-native-svg-transformer
react-native-svg-transformer copied to clipboard
Duplicate __self prop found.
After installing react-native-svg-transformer, and following the setup instructions, verbatim, I get the following error in my app:
error: src/App.tsx: Duplicate __self prop found. You are most likely using the deprecated transform-react-jsx-self Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.
I am using the metro.config.js
exactly as it is posted in setup instructions, and by toggling the line babelTransformerPath: require.resolve('react-native-svg-transformer'),
I can make the error come and go. (When the line is commented, i get other errors indicating my SVG module is not of the expected type, as one would expect, since it isn't being transformed; I am not concerned about this case.)
My babel.config.json
looks like this:
{
"presets": ["module:metro-react-native-babel-preset"],
"plugins": [
[
"module-resolver",
{
"extensions": [
".js",
".jsx",
".ts",
".tsx",
".android.js",
".android.tsx",
".ios.js",
".ios.tsx",
".svg"
],
"root": ["./src"]
}
],
"react-native-reanimated/plugin"
]
}
Did you solve this?
I'm facing the same issue, but I don't have react-native-svg-transformer
as dependancy.
Any update on this please ?
Yeah this is pretty important. Any updates?
Any update here?
Do you have a solution for this error?
I found that pinning all metro versions to be in lockstep with each other resolved this issue for me.
metro-babel-register
, metro
, metro-react-native-babel-preset
, metro-react-native-babel-transformer
, `metro-resolver, et al.
The problem is that these 2 babel libraries are deprecated for version 73 of RN and version 50 of Expo:
metro-react-native-babel-preset, metro-react-native-babel-transformer
Hello, I just had the same problem, the solution was to remove ['module:@react-native/babel-preset', { "useTransformReactJSXExperimental": true }]]
after this you will have to verify some libraries, I recommend deleting the node_modules , .lock after this and compile again.
It should look like this:
module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo',
plugins: [
'react-native-reanimated/plugin',
],
};
};
remove module:@react-native/babel-preset and solved