useState
のような状態を扱う自作hookを作る際、引数に関数を使うことがあります。
Reactのpropsなど、引数代入することで型を特定できたり、コードが縮小できて便利です。
たとえば、useStateでは初期値の計算が重かったり前の値を扱痛い場合、引数に関数を指定させます。
const [rows, setRows] = useState(() => createRows(props.count));
このuseStateのソースコードをみると、引数の型は(()=>S)|S
として、初めに引数自体に関数の結果を代入していました。