概要
React Hooksが出たので今更recomposeの記事を書いたところで需要はないと思いますが、
割と好きなライブラリでしたし思い出として残しておきます。
recomposeが使われている既存のサービスをFlowからTypeScriptにしていたところ、
componentDidCatchが@types/recomposeにないことが分かりました。
※作業開始時はHooksがまだα版だったのでrecomposeはそのまま残しておくことにしました。
対策
import React, { ErrorInfo } from 'react';
import { lifecycle } from 'recompose';
~省略~
lifecycle<{}, {}, { componentDidCatch(error: Error, errorInfo: ErrorInfo): void }>({
componentDidCatch(error, errorInfo) {
~省略~
こんな感じにcomponentDidCatchを追加して解決しました。