@appsignal/react

Installation

Add the @appsignal/react and @appsignal/javascript packages to your package.json. Then, run npm install/yarn install.

You can also add these packages to your package.json on the command line:

yarn add @appsignal/javascript @appsignal/react
npm install --save @appsignal/javascript @appsignal/react

Usage

Error Boundary

If you are using React v16 or higher, you can use the ErrorBoundary component to catch errors from anywhere in the child component tree.

import React from "react";
import ReactDOM from "react-dom";
import Appsignal from "@appsignal/javascript";
import { ErrorBoundary } from "@appsignal/react";
 
const appsignal = new Appsignal({
  key: "YOUR FRONTEND API KEY"
});
 
const FallbackComponent = () => (
  <div>Uh oh! There was an error :(</div>
);
 
const App = () => (
  <ErrorBoundary
    instance={appsignal}
    tags={{ tag: "value" }} {/* Optional */}
    fallback={(error) => <FallbackComponent />} {/* Optional */}
  >
    { /** Child components here **/}
  </ErrorBoundary>
);
 
ReactDOM.render(<App />, document.getElementById("root"));

Legacy Boundary

The API that this component uses is unstable at this point in React's development. We offer this component as a means to support those running React v15, but do not guarantee its reliablity. You are encouraged to use the ErrorBoundary whenever possible.

The LegacyBoundary works in almost exactly the same way as the ErrorBoundary:

import React from "react";
import ReactDOM from "react-dom";
import Appsignal from "@appsignal/javascript";
import { LegacyBoundary } from "@appsignal/react";
 
const appsignal = new Appsignal({
  key: "YOUR FRONTEND API KEY",
});
 
const FallbackComponent = () => <div>Uh oh! There was an error :(</div>;
 
const App = () => (
  <LegacyBoundary
    instance={appsignal}
    fallback={(error) => <FallbackComponent />}
  >
    {/** Child components here **/}
  </LegacyBoundary>
);
 
ReactDOM.render(<App />, document.getElementById("root"));

Want to help us improve this documentation page?

Create a pull request

Need more help?

Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial