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方法工作或以不同的方式访问子组件函数,您有什么想法吗?
https://stackoverflow.com/questions/34004331
复制相似问题