如何将堆栈跟踪添加到我当前的 Redux Devtools 设置中?

Posted

技术标签:

【中文标题】如何将堆栈跟踪添加到我当前的 Redux Devtools 设置中?【英文标题】:How would I add stack tracing to my current Redux Devtools setup? 【发布时间】:2021-12-11 08:24:41 【问题描述】:

这是我当前的 redux 存储分配:

import  composeWithDevTools  from 'redux-devtools-extension';
import  createStore, applyMiddleware  from 'redux';
import  PersistGate  from 'redux-persist/integration/react';
import reduxThunk from 'redux-thunk';

const persistedReducer = persistReducer(persistConfig, reducers);

const store = createStore(
  persistedReducer,
  composeWithDevTools(applyMiddleware(reduxThunk)),
);

我希望能够使用Redux Devtools 在我的项目中进行堆栈跟踪。给出的示例与我的设置并不完全匹配,只是想知道如何在不完全重写我的变量分配以匹配他们的情况下添加类似 trace 属性的内容。

【问题讨论】:

您遵循了设置说明here?或者也许只是升级到默认配置了 redux devtools 的redux-toolkit。 @DrewReese 前者。但是,如果您注意到这里:github.com/zalmoxisus/…,则没有迹象表明在何处添加其他选项。 你指的是这些configuration options吗? IMO 您应该尝试将 redux-toolkit 添加到您的项目并切换到它。它的设置/配置过程更容易理解和使用一两个数量级,而且非常简单。添加到一个相当成熟的工作项目只花了大约 20 分钟,从那以后我们就没有回顾过“遗留”的 redux。 我绝对可以看看。要回答你原来的问题,是的。唯一的问题是通常你会传递这些选项的对象。以我目前的配置,我不是 100% 可以做到这一点。 【参考方案1】:

您是否尝试过将选项设置为composeWithDevTools,然后将其放入createStore

import  createStore, applyMiddleware  from 'redux';
import  composeWithDevTools  from 'redux-devtools-extension';

const composeEnhancers = composeWithDevTools(trace: true); // <<< set options here

const store = createStore(
  reducer, /* preloadedState, */
  composeEnhancers( // <<< use it here
    applyMiddleware(...middleware),
  )
);

【讨论】:

以上是关于如何将堆栈跟踪添加到我当前的 Redux Devtools 设置中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Dart中获取当前的堆栈跟踪以获得Completer.CompleteException(exception,stackTrace);

GCC/GProf - 以编程方式访问线程的当前函数/堆栈跟踪

如何在 Java 中获取当前堆栈跟踪?

如何在 Java 中获取当前堆栈跟踪?

如何在 .NET 中毫无例外地打印当前的堆栈跟踪?

如何从 DDMS 中的 Android 可穿戴设备获取 logcat 消息/堆栈跟踪