我的 reducer 的起始状态为空数组:
folderReducer(state:Array<Folder> = [], action: Action)
我想填充起始状态,所以当我这样做时
store.subscribe(s => ..)
我得到的第一项来自数据库。我认为这样做的方法是使用 ngrx/effects,但我不确定如何。
最佳答案
您的商店始终具有您在 reducer 函数中定义的初始状态。初始状态的主要目的是确保应用程序能够启动并且不会遇到任何空指针异常。它还设置您的应用程序以开始进行第一个 api 调用等。 - 因此您可以将其视为技术初始状态。
如果您想在启动时用 api-data 填充您的商店,您可以在任何其他操作期间添加/修改数据的相同方式执行此操作 - 只是“初始加载数据”的操作不是由某些用户触发的- 交互但通过:
如果您想在 API 调用完成之前阻止特定组件显示任何内容,则必须调整显示组件以根据您的状态显示或隐藏数据(例如,通过在您的卫星
initialDataLoaded
中实现一个标志) .
关于ngrx,如何从 api 获得起始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42517257/