在 Aurelia Store 中执行状态持久化

问题描述

我们有一个基本的应用状态,需要在浏览器刷新时保留。类似于 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 来实现更复杂的场景。

祝你好运

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...