Javascript react this.props.function即使绑定也未定义

Javascript react this.props.function即使绑定也未定义,javascript,reactjs,bind,Javascript,Reactjs,Bind,我正在努力解决这个问题。React一直说我的函数未定义,但函数正在工作 我有一个父组件和一个子组件,我想把一个函数从父组件传递给子组件。这就是我所做的: 家长: import React, { Component } from 'react'; import { Child } from 'components'; export default class Parent extends Component{ constructor(props){

我正在努力解决这个问题。React一直说我的函数未定义,但函数正在工作

我有一个父组件和一个子组件,我想把一个函数从父组件传递给子组件。这就是我所做的:

家长:

    import React, { Component } from 'react';
    import { Child } from 'components';

    export default class Parent extends Component{ 
        constructor(props){
           super(props);
           this.myFunc = this.myFunc.bind(this); 
        }

        myFunc (data) {
           console.log("wowow I got you!", data)
        }

       render(){
        return (
           <div>
              <Child thatFunc={this.myFunc} />
           </div>
        )
       }
    }
import React,{Component}来自'React';
从“组件”导入{Child};
导出默认类父级扩展组件{
建造师(道具){
超级(道具);
this.myFunc=this.myFunc.bind(this);
}
myFunc(数据){
log(“哇,我抓到你了!”,数据)
}
render(){
返回(
)
}
}
儿童:

    import React, { Component } from 'react';

    export default class Child extends Component {
          constructor(props) {
               super(props);
          }

          componentDidMount(){
               this.props.thatFunc("i got the function!")
          }

          render(){
             return (
                <div> do this do that </div>
             )
          }
    }
import React,{Component}来自'React';
导出默认类子扩展组件{
建造师(道具){
超级(道具);
}
componentDidMount(){
this.props.thatFunc(“我得到了函数!”)
}
render(){
返回(
做这个做那个
)
}
}
因此,我确实得到了console.log的正确答案,即“哇,我得到了你,我得到了函数!”。 但是,我也得到了这个:uncaughttypeerror:this.props.thatFun不是一个函数


有人知道为什么吗?谢谢

代码是有效的。这是一个无关的错误。我有一个孩子的列表,我只需要一个孩子就可以得到这个函数,但我没有正确过滤它。真傻!非常感谢您的关注,代码运行良好。我将结束这个问题

奇怪的是,这一行:
import{Child}来自“components”只是一个示例,或者您的代码中确实有这个示例?首先,这不是正确的导入,其次,子项不包含任何名为导出的
Child
,因此您应该去掉括号。在上运行此操作似乎不会产生相同的错误您是否尝试过类似
const{thatFunc}=this.props
的方法,然后执行
console.log(thatFunc)
然后看看你想要什么get@TomekRychtyk谢谢你的回复。这只是一个示例,实际代码远比这个长。我只想提取相关的片段。子组件是由组件文件夹中的index.js导入和导出的,这不是默认的导出。您好,我尝试了您的建议,结果是:控制台记录了两次。第一次:ƒ(e){console.log(“wowow我得到了你,e)}&“wowow我得到了你,我得到了这个函数!”第二次:未定义和未捕获类型错误。它是否与组件安装生命周期有关?我确实有一些来自后端的数据。