Я хочу написать хук-обертку, которая бы выполняла динамические импорты и передавала бы их в функцию
export function useEffectWithImports<T extends Promise<any>[]>(
fn: (a: { [P in keyof T]: Awaited<T[P]> }) => any,
args: any[],
imports: T
) {
useEffect(() => {
Promise.all(imports).then(res => {
fn(res);
});
}, args);
}
Но когда я использую эту функцию, он не видит что я могу взять из res.
useEffectWithImports(
([{ onAuthStateChanged }]) => { // Property 'onAuthStateChanged' does not exist on type '{ default: typeof import...
onAuthStateChanged(auth, user => {});
},
[],
[import("firebase/auth")]
);
Как можно поправить?
PS
Если вот так записать, то все работает
useEffect(() => {
const imports = Promise.all([import("firebase/auth"), import("../../../firebase.config")]);
imports.then(([{ onAuthStateChanged }, { auth }]) => {})
}, [])