Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Error catcher middleware for Redux reducers and sync middlewares.

Build StatusXO code style

API

Apply middleware

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)));
  • reduxCatch receive a function to use when an error happen.
  • The error handler function could be just aconsole.error like 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.

Add state as extra data

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);}

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp