Tengo tres tipos de elementos diferentes: cursos, paquetes y programas. Puedo filtrar por Todos o por los tres Tipos mencionados anteriormente. ¿Cómo puedo verificar el caso en el que TODOS los artículos están cargados, no solo estos tres individualmente? Quiero mostrar una rueda giratoria de carga en caso de que los artículos no estén cargados. Esto es lo que tengo hasta ahora:
const [isLoading, setIsLoading] = React.useState<boolean>(false); React.useEffect(() => { setCourses([]); setPrograms([]); setPackages([]); if([DataType.Course, "all"].includes(contentType)) Course.get(undefined, useCatalog, parent).then(async (c: Course[]) => { setCourses(c || []); setIsLoading(false) }) if([DataType.Program, "all"].includes(contentType) && (!parent || parent.data_type === DataType.Package)) Program.get(undefined, useCatalog, parent).then((p: Program[]) => { setPrograms(p ||[]), setIsLoading(false) }); if([DataType.Package, "all"].includes(contentType) && !parent) Package.get(undefined, useCatalog).then((p: Package[]) => { setPackages(p || []), setIsLoading(false) }); }, [contentType, useCatalog, parent]);¿Considera usar 3 estados isLoading diferentes? por ejemplo, isLoadingCourses , isLoadingPrograms , isLoadingPackages luego haga algo como
if (!isLoadingCourses || !isLoadingPrograms || !isLoadingPackages) return <Spinner/>o puede verificar directamente los artículos como
if (!courses || !programs || !packages) return <Spinner/>