React native + Mobx,@inject 装饰器抛出错误

React native + Mobx, @inject decorator throws an error

我正在尝试将 mobx 与 React Native 结合使用,但遇到了问题。

@inject('someStore')
@observer
export class SomeComponent extends Component {
   render() {
       ...
   }
}

我确定我为装饰器正确配置了 babel 插件,但是 @inject 装饰器给了我一个例外 "Expected a constructor."

我不知道为什么会这样,因为我在其他项目中以这种方式使用过 mobx。有人遇到过这个问题吗?

我将 mobx-react 版本降级到 5.4.4,我可以确认它可以正常工作。

尝试降级 mobx-react。

yarn add mobx-react@5.4.4

如下重写 class 对我有用

"mobx": "^5.13.0","mobx-react": "^6.1.3"

class LoginScreen extends React.Component {

}

export default inject("userStore")(observer(LoginScreen));

"mobx-react": "^6.1.3" 对我有用

import React, { Component } from 'react';
import {observer, inject} from 'mobx-react';

class SomeComponent extends Component {
class_content
}

export default inject('someStore', 'someStore' /* here you can add as many store files as you need */)(observer(SomeComponent));

但不要忘记将 Provider 添加到您的 App.js 或者您的主文件