MainStore

MainStore 包含共享的应用程序数据。通过 CubaAppProvider 进行初始化。可以使用 @injectMainStore 注解将其注入其他的类:

@injectMainStore
@observer
export class AppInfo extends React.Component<MainStoreInjected> {
  render() {
    if (!this.props.mainStore) {
      return null;
    }
    const {
      initialized,
      authenticated,
      userName,
      metadata,
      messages,
      enums
    } = this.props.mainStore;
    return (
      <ul>
        <li>App initialized: {initialized ? 'yes' : 'no'}</li>
        <li>User authenticated: {authenticated ? 'yes' : 'no'}</li>
        <li>User name: {userName}</li>
        <li>Metadata: {JSON.stringify(metadata)}</li>
        <li>Messages: {JSON.stringify(messages)}</li>
        <li>Enums: {JSON.stringify(enums)}</li>
      </ul>
    )
  }
}

在功能组件中,可以使用 useMainStore hook。

const mainStore = useMainStore();

通过 mainStore.security 可以访问安全服务。参阅 这里 了解更多细节。