I'm trying to use my own typescript dependency ioc-service-container in a react native typescript project.
The dependency uses typescript property decorators, like this:
const service = new Service();ServiceContainer.set('service', () => service);class Foo { @inject service!: Service;}
This works fine for reactJS, Vue & Node backends. But it does not work in react native. The property service
from Foo is still undefined. After some debugging I found out, that the passed property to the inject
-decorator is an empty object not the class Foo.
I think the problem is bable transforming my code ... but I'm not sure.
babel.config.js:
module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: [ ['@babel/plugin-proposal-decorators', { 'legacy': true }], // required for @boundMethod decorator ],};
tsconfig.json:
{"compilerOptions": {"target": "esnext","module": "commonjs", // ..."experimentalDecorators": true, }}