[英]React component throwing TypeScript error for function passed in as prop
[英]Component can't catch error from function passed as a prop
我有一個Form組件,當單擊Submit按鈕時,它調用:
//Form.js
//...
const submit = () => {
try {
onSubmit(values); //onSubmit from props, values from state
} catch (error) {
console.log(error);
setSubmitError(error);
}
}
//...
我正在嘗試通過以下方式與onSubmit
一起使用它:
export const signIn = ({ email, password }) => (
auth()
.signInWithEmailAndPassword(email, password)
.catch(e => { throw e })
);
但是它無法處理。 在當前版本中,它向控制台拋出錯誤: auth.esm.js:429 Uncaught The email address is badly formatted.
我嘗試用new Error
包裝new Error
,但隨后將其拋出到窗口中。 我究竟做錯了什么?
正常的try / catch塊無法捕獲異步錯誤。 但是,您可以聲明一個異步塊,這應該可以工作:
const submit = async () => {
try {
await onSubmit(values); //onSubmit from props, values from state
} catch (error) {
console.log(error);
setSubmitError(error);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.