прочее)
нормально ли так и есть ли тут какие-то подводные камни, на которые я ненароком наткнулся?
import { useState } from 'react';
type Loaders<T extends Record<string, boolean>> = {
loaded: <LoaderField extends keyof T>(loader: LoaderField) => boolean;
setLoader: <LoaderField extends keyof T>(
loader: LoaderField,
value: boolean
) => void;
};
export const useLoaders = <T extends Record<string, boolean>>(
loadersObj: T
): Loaders<T> => {
const [loaders, setLoaders] = useState(loadersObj);
const setLoader = <LoaderField extends keyof T>(
loader: LoaderField,
value: boolean
): void => {
setLoaders({
...loaders,
[loader]: value,
});
};
const loaded = <LoaderField extends keyof T>(
loader: LoaderField
): boolean => {
return loaders[loader];
};
return {
setLoader,
loaded,
};
};
короче тут все ок видимо, спс))
Обсуждают сегодня