@evo/errcatch

中文文档
1.0.7发布于 2022/10/25ISCCommonJS零依赖近 30 天下载 2216

Catch react errors

原始使用文档

ErrCatch

npm - https://www.npmjs.com/package/@evo/errcatch

Небольшой компонент вокруг error boundary API - https://reactjs.org/docs/error-boundaries.html.

Фичи:

  • В деве будет подсвечивать "упавший" компонент красным. На проде по умолчанию ничего не рендерит.
  • Можно задать логирование ошибок в 1 месте (на бекенде через syslog, на фронте через gotcha).
  • Есть возможность рендерить кастомный компонент при ошибке.

Установка

npm i @evo/errcatch

Пример:

import { ErrCatch, withErrCatch } from '@evo/errcatch'

const Component = () => (
    <div>
        <Component1/>
        <ErrCatch>
            <Component1/>
        </ErrCatch>
    </div>
);

// or HOC
const Component = withErrCatch(() => (
    <div>
        <Component1/>
    </div>
));

Логирование ошибок (gotcha,logevo e.t.c)

import { setErrCatchLog } from '@evo/errcatch';
import * as gotcha from '@evo/gotcha-log';

setErrCatchLog((msg, error, info) => {
    console.error(msg, error, info);
    gotcha.error(msg, { message: error.message, stack: error.stack });
});

Custom Error компонент

import { ErrCatch } from '@evo/errcatch'

const ErrorComponent = () => <div>Error</div>

const Component = () => (
    <div>
        <Component1/>
        <ErrCatch errorComponent={<ErrorComponent/>}>
            <Component1/>
        </ErrCatch>
    </div>
);

版本与发布记录

@evo/errcatch 共发布 9 个版本,首次发布于 2019/04/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.7latest2022/10/254 年前
1.0.62022/10/254 年前
1.0.32022/06/094 年前
1.0.22022/02/044 年前
1.0.12021/11/174 年前
0.1.22019/12/046 年前

关于 @evo/errcatch 的常见问题

@evo/errcatch 是什么?

Catch react errors

如何安装 @evo/errcatch?

在项目目录运行 npm install @evo/errcatch,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^16.8.6 || ^17 || ^18)、react-dom(^16.8.6 || ^17 || ^18)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@evo/errcatch 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/evo__errcatch 是否存在。

@evo/errcatch 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@evo/errcatch 可以商用吗?

@evo/errcatch 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@evo/errcatch 的下载量有多少?

根据 npm 官方下载统计,@evo/errcatch 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,216 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@evo/errcatch 还在维护吗?

最新版本 1.0.7 发布于 2022/10/25(4 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/04/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。