修改Redux DevTools扩展中的状态

Fel*_*ger 15 redux redux-devtools redux-devtools-extension

在我的应用程序状态中,有值设置为initialState.

使用React Developer Tools,可以直接修改某些状态值.

Redux DevTools扩展中是否有类似的可能,即单击并为特定属性插入新值?

这个 SO anwer中,它表示可以"改变你想要的任何东西",但我找不到如何.

在State - > Raw窗格中(见下图),可以覆盖值,但似乎没有应用.

在此输入图像描述

小智 9

您可以使要分派操作的对象更新您的对象(或者您可以手动键入对象,以您更容易的为准),然后可以使用以下按钮直接从工具中进行新的分派。 在此处输入图片说明

例如,如果您希望模拟服务器返回了处于不同状态的对象,则只需分派使用修改后的字段再次更新对象的操作。


Jos*_*osh 8

否 \xe2\x80\x93 目前无法手动修改状态。

\n\n

在 Redux DevTools 存储库中查看此问题;维护者确实打算最终实现该功能:

\n\n
\n

我会在3.0之后实现它,届时将完成扩展的重写和新的UI。除了状态之外,该计划还包括编辑已调度的操作,更改有效负载。并且,如果有兴趣,就重复行动;因此,编辑后将有两个选项来覆盖当前选项(并重新计算状态)或作为新操作进行分派。

\n
\n


kei*_*ics 6

如果状态保持不变,则您可以编辑本地存储 (persist:root) 并刷新页面。

在此输入图像描述


Mic*_*amm 5

Redux 存储的主要原则之一是,无论何时调度操作,它都只能由 reducer 函数更改。

因此,我不认为,可以在 Redux DevTools 中更改存储状态,但至少您可以进行时间旅行或直接抑制选定的操作(我经常这样做来模拟,AJAX 请求仍然未决)。

如果您真的想更改商店的状态,您可以将商店(当它通过创建时createStore)分配给控制台window._store,然后window._store.dispatch({type: "...", ...});直接从控制台调用。


Nei*_*eil 5

您现在可以使用importexport按钮以 json 格式保存您的状态。

然后,您可以修改 json 文件中的状态(只要其有效)并将其重新导入。这里的强大功能是您可以在文件中拥有各种状态并快速加载它们以查看应用程序更新。

进出口