feat: ErrorBoundary

This commit is contained in:
EnixCoda 2019-11-15 16:26:15 +08:00
parent 26d0b189bc
commit d830741968
No known key found for this signature in database
GPG key ID: FE06F5DFC1C9B8E4
2 changed files with 18 additions and 10 deletions

View file

@ -0,0 +1,12 @@
import { raiseError } from 'analytics'
import * as React from 'react'
export class ErrorBoundary extends React.PureComponent {
componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
raiseError(error, errorInfo)
}
render() {
return this.props.children
}
}

View file

@ -1,20 +1,16 @@
import { raiseError } from 'analytics'
import { SideBar } from 'components/SideBar'
import { ConfigsContext, ConfigsContextWrapper } from 'containers/ConfigsContext'
import * as React from 'react'
import { ErrorBoundary } from './ErrorBoundary'
export class Gitako extends React.PureComponent {
componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
raiseError(error, errorInfo)
}
render() {
return (
export function Gitako() {
return (
<ErrorBoundary>
<ConfigsContextWrapper>
<ConfigsContext.Consumer>
{configContext => configContext && <SideBar configContext={configContext} />}
</ConfigsContext.Consumer>
</ConfigsContextWrapper>
)
}
</ErrorBoundary>
)
}