孙子组件包装在一个容器中,该容器通过graphql查询接收数据。 我需要从Grandparent组件访问该数据,以便检查数据集中的值以执行某些功能。 我如何读取孙子收到的数据?
答案 0 :(得分:1)
将功能从祖父母传递给子组件(您可能必须将其传递给两个层次的深度,例如通过Child
),然后
孙子将调用该函数(因为它是从props接收到的)并传递它想要的数据作为参数-因此,父孙将有机会做出响应。
草图:
class GrandParent{
// This function will get called when grand child receives data
dataReceivedInGrandChild(data){
//Do whatever you want with data
}
render(){
....
<Child dataReceivedInGrandChild={this.dataReceivedInGrandChild}/>
....
}
}
答案 1 :(得分:-2)
您可以在子孙中创建一个函数以返回所需的数据,然后将引用添加到父项和孙子中,在祖父母中,您必须引用这些引用,例如:
grandP.parent.grandC.getData
或者您可以在祖父母中获取数据,并通过道具将其传递给孩子和孙子