【发布时间】:2022-04-11 05:33:02
【问题描述】:
我不确定如何处理这种行为,这是我拥有的功能:
public class HolderFeature : Feature<HolderState>
{
public override string GetName() => "HolderState";
protected override HolderState GetInitialState() => new(holder: new ProductHolder(), persons: string.Empty);
}
而且,在刷新页面(按 f5)之前一切正常,状态被清除,我有这个来处理错误:
protected override void OnInitialized()
{
if (HolderState.Value.QuotedProduct.Quotes != null)
{
//do the logic
}
else
{
//show error screen
PressedF5 = true;
}
}
我期望的是,即使页面被刷新,它也不应该清除状态。我该怎么做?
【问题讨论】:
-
问题是什么?问题是什么?当您刷新时,预计状态会被清除 - 这是您的意思吗?
-
@KirkWoll 你是对的!我编辑了这篇文章,希望这次可以理解。
-
要在刷新时保持状态,您需要将状态存储在某处——服务器支持的数据库或浏览器本地存储。对于一个 SO 问题来说,这个话题太大了,但 this tutorial 似乎是你所追求的。
-
我想用本地存储或 indexdb 的东西会是答案!谢谢,如果您发布您之前的帖子,我会将其标记为答案。
-
一个与库相关的问题,用于将 Fluxor 数据持久保存到 F5 上的 DB 或 localStorage。见:stackoverflow.com/a/67421834/943435
标签: c# blazor state-management fluxor