问题描述
我们有一个基本的应用状态,需要在浏览器刷新时保留。类似于 vuex-state-persistance
插件。这里是需要持久化的基本状态代码。
export const initialState = {
user: {
uuid: 'wedRfertYjsnjnakUiisdj878HBhsns',name: 'Kiran Maniya',scope: 'user'
}
};
有什么可以直接用作插件的吗,或者我需要编写一个自定义插件来异步地将状态保持在 localStorage
中?另外,当我们有一个复杂而庞大的状态需要管理时,我们如何将状态模块化?
解决方法
Aurelia Store 提供了一种在 localStorage 中持久化状态的内置机制。
因此,如果您的 initialState 在 main.ts 或 main.js 中初始化,则如下所示:
<View style={styles.webview} onScroll={handleScroll}>
<Text text={
disclaimerText?.replace('\n','<br />'),style= {{color: palette.foreground.main}}} >Some text</Text>
</View>
然后在 app.ts 或 .js 中,您应该注册 localstorage 中间件并执行补液。
因此,在应用程序构造函数中,您可以编写:
aurelia.use.plugin('aurelia-store',{ initialState: initialState });
关于模块化,也许你应该结合 store 和 EventAggregator 来实现更复杂的场景。
祝你好运