【问题标题】:React-native Bugsnag BreadcrumbsReact-native Bugsnag 面包屑
【发布时间】:2017-02-15 15:50:42
【问题描述】:

如果我只传递一个类型但在尝试传递其他数据时抛出错误,面包屑可以正常工作:

client.leaveBreadcrumb(msg, {
  type: 'navigation',
  component: 'Something',
  props: props,
  previousScene: 'Previous',
});

对为什么会发生这种情况有任何想法吗?

【问题讨论】:

    标签: react-native breadcrumbs bugsnag


    【解决方案1】:

    这是leaveBreadcrumb函数的类型定义:

    public leaveBreadcrumb(name: string, metadata?: IMetadata | string): void;
    

    您看到允许的参数是namemetadata。所以你不能添加任意参数。

    metadata 是一个键值对对象,带有一个可选的type 字段,即它的类型定义如下:

    export interface IMetadata {
      type?:
        | "error"
        | "log"
        | "navigation"
        | "process"
        | "request"
        | "state"
        | "user"
        | "manual";
      [key: string]: IMetadataValue | string | number | boolean | undefined;
    }
    

    【讨论】:

      【解决方案2】:

      按照 Bugsnag 的 latest React Native docs,您可以看到有 3 个字段用于留下自定义面包屑。

      我会将您的代码修改为以下内容:

      Bugsnag.leaveBreadcrumb(msg, {
        component: 'Something',
        props: props,
        previousScene: 'Previous'
      }, 
       'navigation'
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-25
        • 2021-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多