Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在react and Unfind中将数据从子级传递到父级不是一个函数_Reactjs_React Native - Fatal编程技术网

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}/>