【问题标题】:React Pass function to child's child component将函数传递给孩子的子组件
【发布时间】:2020-09-22 22:52:16
【问题描述】:

我想将一个函数从父组件传递给子组件,但显示为“未定义”

我了解如何将函数从父级传递给子级:

class Child extends Component {
  render() {
        <div onClick={this.props.passedFunction}></div>
    }
}

class Parent extends Component {
    passedFunction = () => {}
    render() {
      <Child passedFunction={this.passedFunction}/>
    }
}

(Reference: past question)

但是我如何正确地传递给 GrandChild:

class GranChild extends Component {
    render() {
        <div onClick={this.props.passedFunction}></div>
    }
}

class Child extends Component {
    render() {
        <GranChild passedFunction={this.passedFunction}/>
    }
}

class Parent extends Component {
    passedFunction = () => {}
    render() {
      <Child passedFunction={this.passedFunction}/>
    }
}

【问题讨论】:

    标签: reactjs react-component


    【解决方案1】:

    将您的子函数重构为:

    class Child extends Component {
    render() {
        <GranChild passedFunction={this.props.passedFunction}/>
    }
    

    }

    【讨论】:

    • 我试过这个并使用 chrome react 开发工具传递了 GranChild 组件上的道具Function: undefined
    猜你喜欢
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 2022-12-14
    • 2021-11-24
    • 2017-12-29
    相关资源
    最近更新 更多