MainStore
MainStore
contains common application data. It is initialized by JmixAppProvider. You can inject it in a class component using @injectMainStore
decorator:
@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>
)
}
}
In a functional component you can utilize useMainStore hook.
const mainStore = useMainStore();
The security service can be accessed via mainStore.security
. See more details here.
API: MainStore, useMainStore.