- Notifications
You must be signed in to change notification settings - Fork7
Error catcher middleware for Redux reducers and sync middlewares
License
NotificationsYou must be signed in to change notification settings
PlatziDev/redux-catch
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Error catcher middleware for Redux reducers and sync middlewares.
import{createStore,applyMiddleware}from'redux';importreduxCatchfrom'redux-catch';importreducerfrom'./reducer';functionerrorHandler(error,getState,lastAction,dispatch){console.error(error);console.debug('current state',getState());console.debug('last action was',lastAction);// optionally dispatch an action due to the error using the dispatch parameter}conststore=createStore(reducer,applyMiddleware(reduxCatch(errorHandler)));
reduxCatchreceive a function to use when an error happen.- The error handler function could be just a
console.errorlike the example above or a function to log the error in some kind of error tracking platform. - You should use this middleware as the first middleware in the chain, so its allowed to catch all the possible errors in the application.
Using it withSentry
To use it with Sentry just download the Sentry script from npm:
npm i -S raven-js raven
- raven-js: This is the client for browser usage.
- raven-node: This is the client for server usage.
Now load and configure your client:
importRavenfrom'raven-js';constsentryKey='<key>';Raven.config(`https://${sentryKey}@app.getsentry.com/<project>`).install();
And then useRaven.captureException as the error handler like this:
conststore=createStore(reducer,applyMiddleware(reduxCatch(error=>Raven.captureException(error));));
Nowredux-catch will start to send the errors of your reducers and middlewares to Sentry.
You can also add the state data as extra data for your errors so you can know the state at the moment of the error.
functionerrorHandler(error,getState,action){Raven.context({state:getState(), action,});Raven.captureException(error);}
About
Error catcher middleware for Redux reducers and sync middlewares
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.