【发布时间】:2021-10-26 04:42:10
【问题描述】:
请帮忙
尝试在带有版本的 react-native 应用中使用 mobx
"react": "17.0.2",
"react-native": "0.65.1",
"mobx": "6.3.2",
"mobx-react": "7.2.0",
App.js
import { Provider } from "mobx-react";
import { AuthStore } from './mobx/AuthStore'
const authStore = new AuthStore()
return (
<NavigationContainer>
<NavigationContainer>
<StripeProvider publishableKey={'...'}>
<Provider authStore={AuthStore}>
<SafeAreaView style={backgroundStyle}>
<MonitorApp/>
</SafeAreaView>
</Provider>
</StripeProvider>
</NavigationContainer>
AuthStore.js
import { observable, action, runInAction } from 'mobx';
class AuthStore {
@observable urlModal = false;
@observable provider;
constructor() {
makeObservable(this)
}
}
const authStore = new AuthStore()
export default authStore
在 MonitorApp 的应用程序下方,我们有一个名为的 ReactComponent
import {inject, observer } from 'mobx-react';
@inject('authStore') @observer
class MonitorAppOverlay extends React.Component {
renderModal() {
const { authStore } = this.props;
const { modalUrl } = authStore;
console.log(this.props)
console.log(AuthStore)
}
}
export default MonitorAppOverlay
modalUrl 未定义且正在抛出。在此应用程序的先前版本中,使用与使用 mobx 相同的样式,使用 @inject 填充商店没有问题
有什么想法吗??
更新了正确的构造函数,现在一切正常
【问题讨论】:
标签: javascript react-native mobile mobx