React Error Boundary

The Bugsee React Native SDK exports an error boundary component that provides React component APIs to automatically catch and send JavaScript errors from inside a React component tree to Bugsee

import React from "react";
import Bugsee from "react-native-bugsee";

<Bugsee.ErrorBoundary fallback={<p>An error has occurred</p>}>
  <SomeElement />


Error boundary component exposes several properties that can be passed in for additional configuration.

fallback (React.ReactNode or Function)

A React element to render when the error boundary catches an error. Can be an actual React element (i.e. ), or a function that returns a React element. If you provide a function, Bugsee will call it with additional info and helpers.

onError (Function)

A function that gets called when the Error Boundary encounters an error. onError is useful if you want to propagate the error into a state management library like Redux, or if you want to check any side effects that could have occurred due to the error.

onReset (Function)

A function that gets called when the Error Boundary is about to reset its state.


import React from "react";
import Bugsee from "react-native-bugsee";

const DEFAULT_MESSAGE = 'Welcome!';

class App extends React.Component {
  constructor(props) {

    this.state = {
      message: DEFAULT_MESSAGE,

  render() {
    return (
        fallback={({ error, componentStack, resetError }) => (
            <div>Error encountered</div>
            <button onClick={() => {
                this.setState({ message: DEFAULT_MESSAGE });
                {/* When resetError() is called, Fallback component will be removed */}
                {/* and Bugsee ErrorBoundary's children will be rendered in their initial state */}
        {/* clicking the button below sets an object instead of a string as message prop */}
        {/* which will trigger an error in the component tree */}
        <button onClick={() => this.setState({ message: { this: "is invalid message" } })}>
          Click here to change message!

export default App;