Reactjs 在react and Unfind中将数据从子级传递到父级不是一个函数
我需要将数组从子组件传递到父组件。 我在父组件中所做的是:Reactjs 在react and Unfind中将数据从子级传递到父级不是一个函数,reactjs,react-native,Reactjs,React Native,我需要将数组从子组件传递到父组件。 我在父组件中所做的是: handlerfordata=(data)=>{ console.log('Inside handlerfordata data is'); console.log(data); } Inide return in render .Note Child is name of my child component return( <View>
handlerfordata=(data)=>{
console.log('Inside handlerfordata data is');
console.log(data);
}
Inide return in render .Note Child is name of my child component
return(
<View>
<Child handlerfordata={this.handlerfordata()}/>
</View>
);
另一件事是子组件在屏幕上呈现,但我只想访问子组件中的数据,而不呈现它。传递
handlerfordata
的引用,而不是this.handlerfordata()
应该是
<Child handlerfordata={this.handlerfordata}/>
^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^
通过添加此代码
<Child handlerfordata={this.handlerfordata()}/>
您不是在传递引用,而是在调用此函数
换成
<Child handlerfordata={this.handlerfordata}/>
这只会传递一个引用
然后您可以使用props从子组件调用它。您必须绑定处理程序:
<Child handlerfordata={this.handlerfordata.bind(this)} />
ReactJS以单向数据流(自上而下)著称,这意味着从父级到子级的任何流动或传递的数据都应该是单向的 如果需要以相反的方式传递数据,可以尝试应用redux状态管理
在您所尝试的代码中,它只是将一个方法从父元素向下传递给子元素。为了调用该方法,您需要将子元素中的引用作为
<Child handlerfordata={this.handlerfordata}/>
如果不呈现子组件,则无法从子组件访问数据。我希望您使用redux,以便所有状态都在一个存储中。是。我这样做了,但在handlerfordata中没有看到从子组件到父组件的任何数据。它应该可以工作。请在这里放置断点
this.props.handlerfordata(finalValue)代码>并检查it@satyajeetjha放一个调试器在那里我正在得到未定义的不是一个函数(计算_this.props.handlerfordata(finalValue)),我使用的是一个箭头函数,所以不需要绑定。你能告诉我们你的导入是什么样子的吗,确保你没有犯任何错误吗?
<Child handlerfordata={this.handlerfordata}/>