npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

noibu-react

v1.0.10

Published

React SDK for NoibuJS to collect errors in React applications

Downloads

961

Readme

Noibu React SDK

Noibu's React SDK used to allow Noibu to capture React errors.

Prerequisites

Noibu Script

The Noibu script needs to have been loaded before the React SDK can successfully send errors to Noibu.

Install the Noibu script by adding the below script in the head section of your all html pages:

<script src="https://cdn.noibu.com/collect.js"></script>

React Versions Supported

The Noibu React SDK supports React application that are at least version 16, since the Noibu React SDK leverages the ErrorBoundary mechanism to capture errors.

Installation

Once the Noibu script has been added to the necessary html pages. You can start using the React SDK knowing that Noibu will capture all errors.

NPM

npm install noibu-react

Yarn

yarn install noibu-react

Usage

Notes

Make sure to replace all ErrorBoundaries in your application with the Noibu provided Error Boundary.

Import

import * as Noibu from 'noibu-react';

Basic Usage

The below code imports the Noibu React SDK and wraps the MainContent component with the Noibu.ErrorBoundary. This makes sure that all errors thrown in the MainContent and any underlying components are captured and handled by the ErrorBoundary. Read more on the props acceptable in the ErrorBoundary Class section.

import './App.css';
import MainContent from './ErrorGenerator';
import * as Noibu from 'noibu-react';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>Welcome to the Noibu React SDK</p>
        <Noibu.ErrorBoundary
          fallback={
            <div>
              <h2>Something went wrong.</h2>
            </div>
          }
        >
          <MainContent />
        </Noibu.ErrorBoundary>
      </header>
    </div>
  );
}

ErrorBoundary Class

Props

A fallback component that gets rendered when the error boundary encounters an error. Can either provide a React Component or a function that returns a React Component as a valid fallback prop. If a function is provided, the function will be called with the error, the component stack, and a function that resets the error boundary on error.

type  FallbackRender = (errorData: {
  error: Error;
  componentStack: string | null;
  eventId: string | null;
  resetError(): void;
}) =>  React.ReactElement;

fallback?: React.ReactElement | FallbackRender;

Called when the error boundary encounters an error

onError?(
  error: Error,
  componentStack: string,
  eventId: string
): void;

Called on componentDidMount()

onMount?(): void;

Called if resetError() is called from the fallback render props function

onReset?(
  error: Error | null,
  componentStack: string | null,
  eventId: string | null,
): void;

Called on componentWillUnmount()

onUnmount?(
  error: Error | null,
  componentStack: string | null,
  eventId: string | null,
): void;