WordPress select() の返り値のプロパティが unknown なやつの対処法

note
WordPress select() の返り値のプロパティが unknown なやつの対処法

TypeScript にわかなので引っかかったやつ。

useSelect のコールバックの select の返り値から参照できるプロパティが全て unknown になっているので、 /tsx?/ で書いていると怒られるハンドブックのまんま書くと怒られる。

const pages = useSelect(
  select => {
    const selected = select(store);
    // getEntityRecords が unknown で怒られる
    return selected.getEntityRecords('postType', 'post');
  }
);

使いたいプロパティが typeof 演算子で function であることを確認すると通る。

const pages = useSelect(
  select => {
    const selected = select(store);
    // typeof 演算子で明確に関数であることを確認すると怒られない
    if (typeof selected.getEntityRecords === 'function') {
      return selected.getEntityRecords('postType', 'post');
    }
  }
);