You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
React Chaos is currently a higher order component that will randomly throw Errors in the component it wraps. The likelihood for the error to throw is based on a level you set when you wrap a component.
There is nothing in place to help ensure good performance practices. Use at your own risk.
Installation
npmi--save-devreact-chaos
Usage
First, import the Chaos:
importwithChaosfrom'react-chaos';
Wrap any component with the Chaos:
constComponentToWrap=()=><p>I may have chaos.</p>;constComponentWithChaos=withChaos(ComponentToWrap);
You can optionally set a Chaos level between 1 and 10 (the higher the number, the more Chaos 😈) as well as a custom error message:
constComponentWithChaos=withChaos(ComponentToWrap);constComponentWithChaos=withChaos(ComponentToWrap,10,'This error message will almost certainly be shown since we are at Chaos level 10.');
Note: The default Chaos level is 5.
Chaos in Production
By default, React Chaos will not run in production. If you want to override this by passing in true as a 4th parameter like this:
Because simple UI errors shouldn't bring down your app.
This library can help expose areas of your component tree that don't handle errors very gracefully. Used in conjunction with Error Boundaries, this can be a powerful tool to improve the resiliency of your UI components.
What is Chaos Engineering?
Chaos Engineering is the practice of experimenting with entropy on a software system to test its resiliency. You can read more about it here.