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

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');
}
}
);