NgRx SignalStore全局单例模式下登录/登出时的状态重置实现方案问询
NgRx SignalStore全局单例模式下登录/登出时的状态重置实现方案问询
我现在用这样的方式定义全局单例的NgRx SignalStore:
export const MyStore = signalStore( { providedIn: 'root' }, withState(initialValues4Store), withMySignalState(), // ...其他配置项 ); export function withMySignalState() { return signalStoreFeature( withState(additionalStates), // ...Feature的其他配置 ); }
这种全局单例的方式在整个应用共享一个实例时完全没问题,但我现在搞不清楚,当用户登录或登出时,该怎么把整个Store(包括SignalStore Feature里的状态)清晰地重置到初始值。
我知道可以在MyStore里写一个logout方法来重置主状态,但问题在于,SignalStore Feature里的状态也需要一起重置,这部分我没找到合适的处理方式。
另外我还在思考:有没有办法既保持全局注入实例的使用方式,又能在用户登出后手动通过Injector创建一个新的Store实例呢?
编辑补充:
我还尝试过下面的写法,但并没有实现Store的重新初始化:
constructor(injector: Injector) {...} doLogout(): void { injector.get(MyStore); }
备注:内容来源于stack exchange,提问作者LeO
相关产品推荐
相关产品推荐

