🐡
ReactのcomponentDidCatchの第1引数ってunknownだよね
経緯
componentDidCatchを書こうとしたところ第1引数がErrorになってて、違和感を感じた。
確認する。
componentDidCatchの定義
現実
componentDidCatch?(error: Error, errorInfo: ErrorInfo): void;
理想
componentDidCatch?(error: unkown, errorInfo: ErrorInfo): void;
確認
Error型の定義の確認
es5.d.tsに定義があった
interface Error {
name: string;
message: string;
stack?: string;
}
es2022.error.d.tsにもあった
interface Error {
cause?: Error;
}
実際の動作確認
undefined を throwして undefinedがとれたら nameやmessageが取れないので型定義としては微妙だろう。
追加されたときのプルリク
プルリクしないの?
確認がとれて、余裕があればするよ…代わりにやってくれてもいいのよ
メモ
-
--useUnknownInCatchVariables
のことを考慮するとanyが無難だけどその辺どう処理するのか確認
Discussion