0

我一直想知道 Redux Dev Tools 的导入功能。如果有问题,请纠正我的逻辑。

我正在开发一个多步骤、繁重的应用程序 UI,它将其状态序列化为 Redux。尝试通过浏览应用程序并每次填充/验证每个字段来重现错误是低效的。我发现了 Redux 开发工具 (RDT) 的导出和导入功能,并在填写和验证表单时导出了一个状态。

我重新启动了应用程序,直接导航到 URL(它在dev环境中,所以没有 auth 保护),并导入了 state.json 文件。

由于 UI 不是Redux 派生其状态,而是将其状态保存Redux,因此 UI 可以预见地不会在导入 state.json 文件时更新。这个问题是关于响应导入 state.json 文件的单一同步操作。

我做了一些研究,发现了一个 RDT 依赖的包,叫做redux-devtools-instrument。它在内部使用 Redux,并为IMPORT_STATE. 即使明确将此包添加到我自己的依赖项中,我也无法弄清楚如何订阅该事件并重新水化我的 UI。所以,这是我的问题的两个部分:

  1. RDT 的导入功能是否旨在按照我所描述的方式工作?

  2. 您将如何获得一个没有 Redux 概念的“愚蠢”UI,甚至没有一般的状态,以“监听”该导入状态文件操作?我尝试使用 RxJS,但不知道要订阅什么。

4

1 回答 1

1

听起来这里的阻塞器是,正如您所说,“UI 不是从 Redux 派生其状态,而是将其状态保存到 Redux 中”。如果是这种情况,那么将更新的状态导入 Redux 存储在更新 UI 方面将毫无意义。

通常,如果您使用非 Redux 感知 UI 来响应 Redux 存储状态或分派操作的更改,则需要使用store.subscribe()Redux 中间件来在分派操作后启动对 UI 其余部分的更改.

于 2017-11-12T19:39:24.340 回答