首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过refs访问子组件函数

如何通过refs访问子组件函数
EN

Stack Overflow用户
提问于 2015-12-01 01:22:38
回答 3查看 20.9K关注 0票数 34

React的文档声明组件功能可以由父组件通过refs访问。请参阅:https://facebook.github.io/react/tips/expose-component-functions.html

我试图在我的应用程序中使用它,但是在调用子函数时遇到了"undefined is not a function“错误。我想知道这是否与使用React类的ES6格式有关,因为我看不到我的代码和文档之间有任何其他区别。

我有一个对话框组件,它看起来像下面的伪代码。该对话框有一个调用save()的"Save“按钮,该按钮需要调用子内容组件中的save()函数。内容组件从子表单字段收集信息并执行保存。

class MyDialog extends React.Component {
  save() {
    this.refs.content.save();                    <-- save() is undefined
  }

  render() {
    return (
      <Dialog action={this.save.bind(this)}>
        <Content ref="content"/>
      </Dialog>);
   }
}

class Content extends React.Component {
  save() {
    // Get values from child fields
    // and save the content
  }
}

相反,我可以向下传递一个属性(saveOnNextUpdate)给Content,然后在它为真的时候执行保存,但我更愿意弄清楚如何让上面的React文档中详细描述的方法工作。

关于如何让doc方法工作或以不同的方式访问子组件函数,您有什么想法吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34004331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档