Javascript 如何使用';使用ErrorHandler()';你有什么反应?
我正在查看中的Javascript 如何使用';使用ErrorHandler()';你有什么反应?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我正在查看中的react error boundary库,但我不知道如何使用useErrorHandler(error?:error)prop 假设我用错误边界来包装我的应用程序-类似这样 import {ErrorBoundary} from 'react-error-boundary'; <ErrorBoundary onError={myErrorHandler}> <App /> </ErrorBoundary> 文档没有明确说明如何导入use
react error boundary
库,但我不知道如何使用useErrorHandler(error?:error)
prop
假设我用错误边界来包装我的应用程序-类似这样
import {ErrorBoundary} from 'react-error-boundary';
<ErrorBoundary onError={myErrorHandler}>
<App />
</ErrorBoundary>
文档没有明确说明如何导入
useErrorHandler
函数,但它是API的一部分,因此您可以使用导入ErrorBoundary
的相同方式进行导入
从“反应错误边界”导入{useErrorHandler}代码>
例如:(基于)
从“反应错误边界”导入{useErrorHandler};
函数问候语(){
const[greeting,setGreeting]=React.useState(null)
const handleError=useErrorHandler()
函数handleSubmit(事件){
event.preventDefault()
const name=event.target.elements.name.value
(姓名)然后(
newGreeting=>setGreeting(newGreeting),
handleError,
)
}
回敬问候(
{问候语}
) : (
名称
打招呼
)
}
从您链接的文档中,似乎可以使用useErrorHandler
来处理react框架无法处理的错误,即通常由错误边界处理的错误。文档中甚至有一个例子。我想可能令人困惑的是,handleError
回调被作为承诺链的可拒绝处理程序传递。看起来您甚至可以直接将错误对象传递给useErrorHandler
。你有没有想要使用错误钩子的异步代码的例子?@DrewReese添加了一个例子如果我假设某个实用函数返回承诺,那么在调用它的函数中,它可以调用承诺链的handleError
。catch
,或者try/catch的catch
块。实际上,我指的是react组件代码的一个示例,它调用了一些异步函数。
...
return new Promise(function (resolve, reject) {
axios({
...
})
.then((res) => {
resolve(res);
// <-- ?
})
.catch((err) => {
reject(err);
});
});