Sabes que actualmente puedes usar <Suspense> en React? bueno, no exactamente cómo se mostró en aquella épica presentación de Dan Abramov donde se mostró el poderío de "Concurrent Mode" pero ya tenemos avances de ello desde React 16.
<Suspense> es utilizado para mostrar un indicador de carga en caso de que el componente (o árbol de componentes) hijo no esté listo para ser renderizado aún.
Es decir, permite "suspender" el renderizado a la espera de que el o los componentes terminen de realizar alguna tarea
Hoy (React 17) está sólo disponible para realizar "lazy loading".
Esta característica, implementada en la api React.lazy es la que permite realizar "code splitting" (carga diferida)
React.lazy permite definir la carga (o importación) dinámica de un componente , es decir, el uso de `import()`
El uso de React.lazy y la carga dinámica o división de código (Code Splitting) permite disminuir el tamaño del bundle (el archivo gigante de JS que es enviado al navegador)
El comportamiento actual de <Suspense> es que React muestra un indicador de carga (o lo que sea que le pases como prop fallback) hasta que el componente esté listo para ser renderizado. PERO, cualquier componente "hermano" de aquel suspendido es renderizado de inmediato
Esto implica que algo como esto
<Suspense fallback={<Fallback />}>
<Suspendido />
<OtroComponente />
</Suspense>
renderizará <OtroComponente> y emitirá los efectos que ese componente (o sus hijos) definan
Pero esto cambiará es React 18. La nueva implementación de Suspense (basado en los Concurrent features) no montará (y por lo tanto no renderizará ni emitirá los efectos) el componente <OtroComponente /> hasta que el componente <Suspendido> esté listo
Es decir React esperará por todo el sub-árbol cubierto por el "perímetro" cubierto por <Suspend> y montará/renderizará todo una vez que TODOS los componentes estén listos y esto lo hará como si de un sólo árbol de componentes se tratara
Esto crea un modelo de renderizado mucho más predecible abriendo la puerta a nuevas implementaciones por parte de los desarrolladores de aplicaciones
Otro punto que se verá afectado es el uso de `ref`.
Actualmente al pasar un ref desde el componente padre a uno componente que está dentro del bloque <Suspense> pero que no está suspendido como en el ejemplo <OtroComponente>, el ref será inmediatamente añadido
ya que el componente se montó el ref apuntará al nodo del DOM inmediatamente en el render inicial. En la nueva implementación esto ya no es cierto ya que el componente <OtroComponente> no será montado hasta que <Suspendido> se resuelva, es decir el ref será null hasta ese momento
Estoy 100% con tener un postnatal parental pero no como algunos están pidiendo que se legisle. Un postnatal parental no puede ir en desmedro de la mujer que materna y debe por sobre todo resguardar el bienestar del lactante no del padre que busca retener un privilegio
Además este tipo de propuestas no pueden obviar la realidad de nuestra sociedad, una realidad en donde la mayoría de las mujeres que maternan lo hacen solas, con bajos recursos, donde muchas familias deben elijir quien trabaja, donde el postanal va en desmedro del salario total
Una realidad en donde sólo el 0.2% de los padres hace uso del actual postnatal parental.
Legislemos sobre esta necesidad cuando estén cubiertas las necesidades primordiales de la díada, exijamos un #postnatal12meses y velemos por una crianza respetuosa
🎉 JOB ALERT @Clevertech is looking for experienced React Devs
Come work with an awesome and kind team (And with me 😅)
Fully remote positions with a really remote 1sr company.
If you're looking for level up your career this might be the opportunity.
Check the links below!
Do you know React and feel comfortable working with big codebases?
You enjoy working with JSX and composing hooks? clevertech.biz/careers/senior… start date June 1st!
You know React but also feels really comfortably with node and express?
Check this out!
He estado pensando mucho en la composición de componentes y cómo se pasa por alto esta "característica" en la mayoría de los proyectos.
React es inherentemente "componible", se puede argumentar que la composición es el punto central de React y el modelo de componentes.
Entonces, ¿por qué no se usa con más frecuencia?
Una razón podría ser que: no es el modelo mental predeterminado.
Es como si la forma predeterminada en que estructuramos componentes en nuestras mentes fuera solo herencia. Contenedores que contienen más contenedores.
Crear ese código definitivamente termina en un problema de prop drilling en algún momento.
Been thinking a lot about component composition and how overlook this "feature" is in most codebases.
Reacr is ineheretrly composable one can argue that composition is the whole point of React and the component model.
So, why is not used more frequently?
One reason could be that: is not the default mental model.
Is like the default way we structure components in our minds is just inheritance. Containers containing more containers.
This approach of will definitely ends up in a prop drilling issue at some point.
But. What is prop drilling and why is an issue?
Prop drilling is a "feature" or at least capability of components to share data between them.
Props are the way components communicate each other. Is their API, and through this, you can pass data from a parent component.
State management in a web app can be a real PITA and confusing topic to tackle down.
The way that you handle the state is something you should take care of from the very beginning.
Starting for: what is state and what type of state do I have?
The application state can be split into at least two types :
🕙 Server state: asynchronous and doesn't really belongs to the app, remotely persisted, potentially out-of-date.
📺 UI state: synchronous, easily accessible, derived from user interaction. Complete ownership
Since the nature of the state is different in each case we should choose the correct tool and "architecture" to manage it.
There is a ton of solutions out there and I think that all of them are good one when used correctly.
Gracias a la lamentable pandemia la educación remota es pan de cada día tanto para nuestr@s niñ@s como también para adultos buscando mejorar sus conocimientos.
Hay muchos sitios y muchas formas de ofrecer y consumir contenido pero como hacer que sea educación efectiva?
Es un mundo complejo y claramente diferente para cada uno pero creo podemos dividirlo en grupos eta ríos buscando que funciona mejor para
- preescolares (tengo mis opiniones aquí)
- adolescentes
- universidad
- Adultos buscando mejorar su carrera
Me enfocare en el último punto
Ciertamente hay muchos servicios tanto de pago como gratis incluyendo YouTube
Pero creo q la única forma de hacer que el aprendizaje sea efectivo es más allá de simplemente consumir contenido.
Y aquí es donde la forma en que sea crea el contenido para incluir acción es importante