Comments (7)
Just published 1.2.0 with support for this
but you'll need to switch away from arrow function to a regular function if you want to use it.
from react-error-boundary.
Just released via 1.1.0
Thanks!
from react-error-boundary.
If i want to dispatch
an action in ErrorHandler
, how to get the redux dispatch
? I use this.props.dispatch
as follows but it is undefined.
const withConnect = connect(mapStateToProps, mapDispatchToProps);
const withReducer = injectReducer({ key: 'home', reducer });
const withSaga = injectSaga({ key: 'home', saga });
export default compose(
withReducer,
withSaga,
(component) => withErrorBoundary(component
, ErrorFallback
, (error) => this.props.dispatch(handleError(error)) // **not work here**
), // use ErrorBoundary
withConnect,
)(HomePage);
Anyone could give me some help? My git branch is here.
from react-error-boundary.
I think there might be some confusion about how arrow function work. They specifically preserve the lexical this
when and where They are declared, rather than when they're invoked. For example:
class ExampleClass {
callMethods() {
arrowFunction(); // 'this' will be the window object
regularFunction(); // 'this' will be the window object
arrowFunction.call(this); // 'this' will be the window object
regularFunction.call(this); // 'this' will be the instance of ExampleClass
}
}
const arrowFunction = () => {
console.log('arrowFunction', this);
};
function regularFunction() {
console.log('regularFunction', this);
}
new ExampleClass().callMethods();
Regardless of the type of method you pass in though, the onError
callback is invoked as a standalone function inside of react-error-boundary
so it won't have a this
.
I guess I could change the code to preserve the this
, but in that case I think you'd still need to use this.props.children.props.dispatch
to get at the dispatch
property.
from react-error-boundary.
Wow, so fast, i will try it tomorrow, thanks very much @bvaughn !
If i do not use this
is there another good practice?
from react-error-boundary.
You are welcome.
I haven't used Redux in a long time. I'm not sure what the best way to approach this is to be honest.
from react-error-boundary.
Get it, thanks for your great work again. ^_^
from react-error-boundary.
Related Issues (20)
- 'ErrorBoundaryContext not found' appears when using useErrorBoundary HOT 12
- Error when rendering inside a server component in Next.js HOT 7
- 'ErrorBoundary' cannot be used as a JSX component. HOT 10
- Reset error state on router changed HOT 2
- [New feature request] add `ErrorBoundaryGroup` like @suspensive/react HOT 2
- [Proposal] Propagate original error when no fallback was provided HOT 5
- 4.0.11 cannot find module 'react-error-boundary' or its corresponding type declarations. HOT 1
- [Proposal] Detect an infinite loop of resetting the error HOT 4
- type ErrorBoundaryPropsWithFallback allows fallback to be null HOT 4
- How to customize error HOT 3
- NPM Install Fails with 404 for 'react-rerror-bounday' Package HOT 4
- Preventing React unmounting UI on error? HOT 3
- useErrorBoundary as global HOT 2
- doesn't catch errors thrown by new Error('error text') but catches errors thrown by throw 'error text' HOT 1
- 'ErrorBoundary' cannot be used as a JSX component. HOT 3
- Getting children of ErrorBoundary in render functions HOT 1
- Bug with catching errors when using React Router HOT 1
- `fallback` function is not allowing to render `ReactPortal` via `createPortal()` function HOT 3
- Trying to access an eslint configuration that is not a dependency of react-error-boundary HOT 4
- "use client" not appearing in the ESM entry HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-error-boundary.