Tengo un componente Blazor (ChildComponent) que llamo desde otro componente (ParentComponent) y no funciona, es como si nunca se ejecutara

Llamando ChildComponent desde ParentComponent

Es muy común que creemos componentes Blazor para ser reutilizados desde otros componentes, pero en esa labor es muy común que cuando estemos iniciando con Blazor esta simple tarea nos de dolor de cabeza. Pero aquí les dejo la solución.

Cuando creamos nuestros propios componentes Blazor es muy normal que deseemos colocarlos en carpetas que creamos para tales fines. Imaginemos que acabamos de crear un componente llamado UserAvatar para mostrar una imagen y nombre del usuario conectado y lo hemos creado en la carpeta llamada Componentes. Luego, tratamos de reutilizar este componente en otro componente llamado ComponentePadre, el cual se encuentra en la carpeta Pages:

         <UserAvatar />

Corremos nuestro proyecto y no lanza ningún error, pero no UserAvatar no muestra nada. Limpiamos la solución, recompilamos y ejecutamos, pero nada funciona. ¿Qué ha pasado?

Lo que ocurre es que necesitamos una directiva @using para que ComponentePadre encuentre a UserAvatar.

Tenemos dos lugares donde podemos agregar la directiva:

  1. Directamente en ComponentePadre:

@page «/ComponentePadre»

@using MyBlazorApp.Componentes

  1. En _Imports.razor:

@using System.Net.Http

@using Microsoft.JSInterop

@using MyBlazorApp

@using MyBlazorApp.Componentes

Luego de agregar la directiva @using podemos ejecutar y todo funciona correctamente.

Por favor, deja un comentario si este post te ha servido de ayuda.

5 pensamientos sobre “Tengo un componente Blazor (ChildComponent) que llamo desde otro componente (ParentComponent) y no funciona, es como si nunca se ejecutara”

  1. Thanks on your marvelous posting! I seriously enjoyed reading it,
    you could be a great author.I will be sure to bookmark your blog and
    may come back sometime soon. I want to encourage
    continue your great posts, have a nice evening!

  2. Hello there, just became aware of your blog through Google, and found that it’s really informative.
    I’m going to watch out for brussels. I’ll be grateful if
    you continue this in future. A lot of people will be benefited from your writing.

    Cheers!

  3. I have been browsing online more than 2 hours today,
    yet I never found any interesting article like yours.

    It is pretty worth enough for me. In my view, if all website owners and bloggers made good
    content as you did, the net will be much more useful than ever before.

Responder a Cruz Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *