Javascript React native MobX@observable始终未定义
Javascript React native MobX@observable始终未定义,javascript,react-native,mobx,Javascript,React Native,Mobx,globalStore.js import {observable} from 'mobx'; export default class globalStore { @observable loggedIn = false; } 然后是mainApp.js: import LoginForm from './src/components/LoginForm'; import { observer } from 'mobx-react'; import globalStore from
globalStore.js
import {observable} from 'mobx';
export default class globalStore {
@observable loggedIn = false;
}
然后是mainApp.js
:
import LoginForm from './src/components/LoginForm';
import { observer } from 'mobx-react';
import globalStore from './src/store/globalStore';
这将呈现loginForm:
return (
<LoginForm store={globalStore} />
);
结果:未定义
所需结果:false
为什么这不起作用
我是否需要包装LoginForm
组件的提供程序?为什么
在带有商店的提供商中,在
App.js
中包装我的整个应用程序也不起作用我看不到全局商店类的实例
试一试
然后您的登录表单如下所示
return (
<LoginForm store={global_store} />
);
返回(
);
或者您也可以在登录表单上实例化它我看不到全局存储类的实例 试一试 然后您的登录表单如下所示
return (
<LoginForm store={global_store} />
);
返回(
);
或者你也可以在你的登录表单上实例化它我认为从我的观点来看,我在工作实现方面做了一些不同的事情: 首先,您需要从
GlobalStore
创建新商店。我是这样做的:
class GlobalStore {
@observable loggedin = false;
...
}
const store = new GlobalStore();
export default store;
然后您应该使用提供程序:
import GlobalStore from './path/to/stores/GlobalStore';
<Provider
globalStore={GlobalStore}
>
<AppRelatedContainers />
</Provider>
通过这些步骤,您应该最终得到一个有效的解决方案。我知道当你开始使用MobX的时候,它会让你感到很痛苦。但是,这样就容易了,你就可以开始了:)。从我的角度来看,我认为在一个可行的实现中,有几件事我做得不一样: 首先,您需要从
GlobalStore
创建新商店。我是这样做的:
class GlobalStore {
@observable loggedin = false;
...
}
const store = new GlobalStore();
export default store;
然后您应该使用提供程序:
import GlobalStore from './path/to/stores/GlobalStore';
<Provider
globalStore={GlobalStore}
>
<AppRelatedContainers />
</Provider>
通过这些步骤,您应该最终得到一个有效的解决方案。我知道当你开始使用MobX的时候,它会让你感到很痛苦。但是,这样就容易了,你就可以开始了:)。事实上,我一年前就学会了MobX。。。显然我忘了。是的,一开始很痛苦,但我又明白了要点。谢谢你的解决方案:)事实上我一年前就学会了MobX。。。显然我忘了。是的,一开始很痛苦,但我又明白了要点。感谢您的解决方案:)