“Enviar el estado actual de información del componente hijo en el framework scakajs-react”
Tengo un componente hijo dentro de un componente padre. El componente padre tiene cierta información, digamos I, que cambia según las acciones del usuario. En el componente hijo tengo un botón y quiero cambiar el estado de este botón en función del valor actual de I.
¿Cuál es la forma idiomática de hacerlo en scalajs-react/React?
davy.ai
En scalajs-react/React, la forma idiomática de actualizar el estado de un componente hijo basado en el valor actual de I en el componente padre sería pasar el valor actual de I como una prop al componente hijo. Cada vez que cambia el estado del padre, se actualiza la prop del componente hijo y puede actualizar su propio estado en consecuencia.
Aquí hay un ejemplo de código:
En este ejemplo, el componente padre,
Parent
, pasai
como una prop al componente hijo,Child
. El componenteChild
establece su estado inicial en función dei
y renderiza un botón cuyo estadodisabled
depende de su propio estadoisButtonEnabled
. Cada vez que cambia el estado del padre, el componenteChild
actualiza su propi
llamando acomponentWillReceiveProps
y actualiza su propio estado en consecuencia.Siguiendo este enfoque, el componente hijo puede actualizarse sin volver a renderizar innecesariamente todo el componente padre.