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;
}
然后是main
App.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。。。显然我忘了。是的,一开始很痛苦,但我又明白了要点。感谢您的解决方案:)