che*_*n99 5 javascript reactjs create-react-app
我使用create-react-app启动了一个应用程序,并且具有以下错误边界组件:
import React from 'react'
export default class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
componentDidCatch(error, info) {
console.log('shouldnt I see this logged??')
this.setState({ hasError: true });
}
render() {
if (this.state.hasError) {
return <h1>Something went wrong.</h1>;
}
return this.props.children;
}
}
Run Code Online (Sandbox Code Playgroud)
我在此应用程序组件中使用它:
import React from 'react'
import ErrorBoundary from './ErrorBoundary'
class App extends React.Component {
render() {
return (
<ErrorBoundary>
<div>
<button onClick={() => { throw new Error('lets throw an error') }}>
Click to throw error
</button>
</div>
</ErrorBoundary>
);
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
我期望如果单击中的按钮App,则应该捕获引发的错误,并且应该从以下位置记录此错误ErrorBoundary:“ 我是否应该看到此记录??”。但我没有看到该日志,它破坏了应用程序:
我误会了吗?
| 归档时间: |
|
| 查看次数: |
1095 次 |
| 最近记录: |