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 或者您的主文件
我正在尝试将 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 或者您的主文件