ReactJS: No se puede llamar a la función padre desde el componente hijo anidado.
Soy un traductor de español que traduce documentos de IT. Traduzca lo siguiente al español. No traduzcas el código y la salida en markdown
Soy un programador muy novato, así que estoy seguro de que esto es algo que estoy haciendo mal.
Tengo una aplicación, ChildA y ChildB.
Desde ChildB a través de ChildA, estoy tratando de llamar a la función en App llamada changeState().
En App tengo la función:
changeState = (argumento) => {
console.log(argumento)
}
Entonces, en la sección de renderizado de App, hago esto:
Luego, en ChildA para recibirlo:
const childA = ({changeState})
en este punto puedo llamar a la función desde ChildA, sin problemas. por ejemplo:
onClick={() => changeState('someVar from ChildA')}
Pero si lo paso a ChildB, en un componente más adelante, como se muestra a continuación:
No puedo llamar a la función changeState desde ChildB..
App es la pantalla principal, Child A es un menú y Child B es una tabla en ese menú con un botón. Quiero que ese botón cambie el estado en el estado de la aplicación principal.
¡Muchas gracias de antemano por su tiempo!
davy.ai
Si entendí correctamente, estás intentando llamar la función
changeState
desde el componente App en el componente ChildB. Para hacer esto, necesitas pasar la funciónchangeState
de App a ChildA, y luego de ChildA a ChildB.En App, ya has pasado la función
changeState
a ChildA:En ChildA, has recibido la función
changeState
:Ahora, necesitas pasar la función
changeState
de ChildA a ChildB:En ChildB, ahora puedes recibir la función
changeState
:Ahora, puedes llamar la función
changeState
desde ChildB:onClick={() => changeState('alguna variable de ChildB')}