为什么我在哨兵中收到用户反馈的空body响应?



我正在使用ReactJS为Sentry设置用户反馈。

我用以下命令初始化它:

import Raven from 'raven-js';
Raven.config(https://#########@sentry.io/#######, {
environment: "development",
}).install();

并使用 componentDidCatch in ErrorBoundary(https://reactjs.org/docs/error-boundaries.html( 概念来显示报告对话框。

componentDidCatch(error, info) {
this.setState({ hasError: true });
Raven.captureException(error, { extra: info });
Raven.showReportDialog();
}

当我提交对话框时,网络向我显示一个带有 200 响应的 POST 请求和一个确认对话框,表明它已成功。但是,正文为空,提交的表单无法在我的哨兵帐户的项目的用户反馈部分看到。

该行为在此站点上看到:https://wiggly-power.glitch.me/

我认为您应该只调用函数组件DidCatch(..(,setState(...(等来检查这种情况。不要尝试在此函数中执行业务流程。

componentDidCatch(error, info) {
this.setState({ hasError: true });
Raven.captureException(error, { extra: info });
}

看看这个并尝试在 render(( 方法中调用这些函数:

if (this.state.hasError) {
Raven.showReportDialog();
}

相关内容

  • 没有找到相关文章

最新更新