Patrón Provider: Inyección de Dependencias

Lectura
20 min~1 min lectura
Objetivo de la lección

Patrón Provider: inyección de dependencias El patrón Provider permite compartir dependencias o estado a través del árbol de componentes sin pasar props manualmente en cada nivel.

Puntos de control
  • Patrón Provider: inyección de dependencias
  • Qué puede proveer un Provider
  • Ventaja arquitectónica
  • Ejercicio: Provider de notificaciones

Patrón Provider: inyección de dependencias

El patrón Provider permite compartir dependencias o estado a través del árbol de componentes sin pasar props manualmente en cada nivel. En React suele implementarse con Context API y hooks de consumo.

Qué puede proveer un Provider

  • Cliente de API o repositorio de datos.
  • Usuario autenticado y permisos.
  • Tema visual, idioma o configuración.
  • Funciones compartidas como tracking, feature flags o notificaciones.
const AnalyticsContext = createContext(null);

export function AnalyticsProvider({ client, children }) {
  return (
    <AnalyticsContext.Provider value={client}>
      {children}
    </AnalyticsContext.Provider>
  );
}

export function useAnalytics() {
  const client = useContext(AnalyticsContext);
  if (!client) throw new Error("useAnalytics must be used inside AnalyticsProvider");
  return client;
}

Ventaja arquitectónica

El componente que usa la dependencia no necesita saber cómo se construye. Esto facilita testing, reemplazo de clientes y separación entre infraestructura y UI.

Ejercicio: Provider de notificaciones

Diseñá un NotificationProvider con un hook useNotifications. Debe exponer una función notify y evitar que se use fuera del provider.

Checklist

  • Context creado en un archivo separado.
  • Hook de consumo con error claro si falta provider.
  • Ejemplo de uso en un botón.
Laboratorio de práctica

Antes de marcar esta lección como completa, escribí una evidencia breve para React Intermedio: Patrones y Optimización: un ejemplo, una decisión, una captura, una mini demo o una nota que puedas reutilizar en portfolio.

Reflexión rápida

¿Qué cambiarías en tu forma de trabajar después de aplicar patrón provider: inyección de dependencias?

De lección a portfolio

Convertí esta lección en una prueba técnica visible.

Una app pequeña publicada, con README y decisiones explicadas, funciona mejor que una lista de tecnologías sueltas.

Paso 1

Creá una demo mínima que use el concepto de la lección.

Paso 2

Escribí un README corto con objetivo, stack, decisión técnica y mejora futura.

Paso 3

Publicá la demo y enlazala desde tu perfil profesional.

Newsletter Cursalo

Recibí rutas y cursos nuevos

Sumate para recibir recursos orientados a empleo y portfolio.

  • Rutas de empleo
  • Cursos prácticos
  • Portfolio y entrevistas

Sin spam. También podés entrar con tu cuenta para guardar progreso. Iniciá sesión

Patrón Provider: Inyección de Dependencias | React | CursaloFalar no WhatsApp