Comunicación entre componentes de Blazor

Поділитися
Вставка

КОМЕНТАРІ • 16

  • @NetMentor
    @NetMentor  3 роки тому +4

    blog: www.netmentor.es/entrada/comunicacion-componentes
    Twitter: twitter.com/NetMentorTW

  • @nsotof
    @nsotof 28 днів тому

    Porfin encuentro un video donde se explica bien esta funcionalidad.... gracias!!!

  • @henryinope9012
    @henryinope9012 8 місяців тому

    yo desarrollo aplicación web y veo que tu realizas bastantes pasos de configuración para hacer algo tan simple, hoy en día se opta por la sencillo del código y no complicarnos la vida, con mas carga laboral.

  • @Ancel1
    @Ancel1 2 роки тому +1

    Buen video, me sirvió mucho, gracias. Saludos 😄✌🏽

  • @michaelpardo179
    @michaelpardo179 3 роки тому +1

    Saludos NetMentor me gusto mucho el video, de verdad que necesitaba una explicación así, pero tengo una duda: ¿En qué momento se tiene que poner manualmente el StateHasChanged en el invokeAsync para que se vea reflejado el cambio de la propiedad del state Container de un componente hijo a un padre?, debido a que en un hijo necesitaba limpiar la lista de la propiedad del state container y en el padre necesitaba ver reflejo ese cambio para cumplir con la funcionalidad, pero el problema fue que no basto llamar el eventAction del state container desde el padre por medio del OnAfterRender() y para solucionarlo me toco colocar el InvokeAsync y pasarle el StateHasChanged manualmente. Por otra parte me gustaría saber si el hecho de utilizar el Disposable como usted lo menciona cada vez que se llame el eventAction de un state container hace que un método del ciclo de vida como el OnAfterRender deje de ejecutarse como un ciclo infinito. Muchas gracias.

    • @NetMentor
      @NetMentor  3 роки тому

      Hola, Para llamar de un hijo a un padre si utilizas `EventCallback` debería hacer el stateHasChanged automáticamente , al menos en las últimas versiones (net core 3.1 +); Si no utilizas eventcallback y utilizas un delegado normal (Action/Func/Predictae), debes llamar al stateHasChanged de forma manual. Por lo que comentas ahí parece estar el problema.
      Respecto al IDisposable, no se llama cada vez que se invoca el eventAction, si no que cuando ejecutas onInitialized te suscribes al evento pero solo en el componente en el que estas (para así saber cuando actualizar) y debemos implementar Idisposable para eliminar la subscripción, si no lo hacemos, la subscripcion no se eliminará nunca y acabaran consumiendo toda la memoria.
      Y no, no deberíá ejecutarlo en ciclo infinito, pero sinceramente no he intentado forzarlo para que pase 😂
      Un saludo.

    • @michaelpardo179
      @michaelpardo179 3 роки тому

      Hola @NetMentor quiero agradecerle por responder cada una de mis preguntas y con respecto a la primera respuesta: si hice el llamado del stateHasChanged manualmente con la propiedad de tipo eventAction que había definido en el state container así como lo sugieres en el video, pero eso no me funciono y tuve que agregar la siguiente línea de código para que se actualizara la propiedad del state en el OnInicializate(): await InvokeAsync(stateHasChanged).ConfigureAwait(false).
      Entones me gustaría saber por qué no funciono como usted lo explica y si utilizar el InvokeAsync(stateHasChanged) en esta ocación estaría bien.
      Un saludo

    • @NetMentor
      @NetMentor  3 роки тому

      Hola estoy algo confuso con la pregunta.
      Tienes el problema con stateContainer o utilizando `EventCallback` ? (event callback es para llamar desde un componente hijo al padre)
      si es utilizando StateContainer neceistas hacer StateHasChanged si o si ; es un evento, así que te puedes subscribir desde las clases que "necesitan actualizarse" ;
      Pero no veo porque deberias llamar a invokeAsync desde el OnInitalize, la verdad. sinceramente no veo claro el problema, necesitaria ver código para entenderlo con claridad :(

  • @jonathancorrea8809
    @jonathancorrea8809 2 роки тому

    Buenas , gracias por el video , te hago una consulta¿ si queremos llamar desde el padre a una función de un componente hijo y otro componente que no lo sea? ¿como se haria?

    • @NetMentor
      @NetMentor  2 роки тому

      Hola, para el hijo es facil:
      necestias caputrar la referencia al componente hijo con
      y luego en el componente padre como tendras acceso, puedes hacer un onclick en el boton
      @code{
      componenenteHijo hijo;
      void accion(){
      hijo.metodo();
      }
      }
      Para llamar de uno a otro sin estar relacionados, la forma mas sencilla es llamando al JS y el JS tener otra llamada interna que llame al otro componente.
      Aquí tienes un vídeo de como utilizar el JS interrop
      ua-cam.com/video/_6FCIhBuwjY/v-deo.html
      Un saludo.

  • @byrongiovannycholcacampues2742
    @byrongiovannycholcacampues2742 2 роки тому

    Saludos por favor su ayuda, como puedo ejecutar un método que esta en un componente hijo desde un botón que esta en el componente Padre

    • @NetMentor
      @NetMentor  2 роки тому +1

      necestias caputrar la referencia al componente hijo con
      y luego en el componente padre como tendras acceso, puedes hacer un onclick en el boton
      @code{
      componenenteHijo hijo;
      void accion(){
      hijo.metodo();
      }
      }
      Un saludo.

  • @juancruzledesma5693
    @juancruzledesma5693 2 роки тому

    Pregunta de ignorante: El state container vendria a ser un similar a Fluxor no? o nada que ver? Y en caso de que sean similares, en que se diferenciarian?

    • @NetMentor
      @NetMentor  2 роки тому

      No he trabajado con redux en la vida;
      Por lo que veo tiene la funcionalidad de poder comunicar componentes entre ellos, con lo que imagino es javascript; y por lo poco que he visto parece lo mismo, o bueno, un poco mas "javascripter" de hacer las cosas.
      Pinta bien, pero tendría que investigar mas. permite ver el estado en el navegador mas facil que con "puro" blazor, lo cual no esta mal la verdad hahah

  • @rodrigodanielcorigalvez7291
    @rodrigodanielcorigalvez7291 7 місяців тому

    una pregunta como hago para qeu no se pierdan los datos al recargar la pagina ?

    • @NetMentor
      @NetMentor  7 місяців тому

      state management. vamos que tienes que almacenar la info y volverla a rellenar cuando carga la página