Reactjs React 15.4.2无法读取null的属性“ref”
我尝试访问子组件的方法。 看起来是这样的: 1.通过组件的引用名称调用方法,然后调用方法 Form.js 我一直有未捕获的TypeError:无法读取null的属性“ref”Reactjs React 15.4.2无法读取null的属性“ref”,reactjs,Reactjs,我尝试访问子组件的方法。 看起来是这样的: 1.通过组件的引用名称调用方法,然后调用方法 Form.js 我一直有未捕获的TypeError:无法读取null的属性“ref” React 15.4.2要访问组件的引用,需要使用this.refs,而不是this.ref 然而,这似乎不是这里的问题,因为错误清楚地表明,当您试图访问它时,它是空的。要确定这是为什么,我们需要查看更多的代码 您还应该考虑使用定义引用,而不是您正在使用的方式,因为不再建议使用此语法,并且可能会在将来的版本中删除此语法。正
React 15.4.2要访问组件的引用,需要使用this.refs,而不是this.ref 然而,这似乎不是这里的问题,因为错误清楚地表明,当您试图访问它时,它是空的。要确定这是为什么,我们需要查看更多的代码
您还应该考虑使用定义引用,而不是您正在使用的方式,因为不再建议使用此语法,并且可能会在将来的版本中删除此语法。正如Timo提到的,要使用引用访问元素,您应该编写此。refs 根据错误,您无权访问此文件。很可能您正在调用this.ref.details.getDataFromComponent;在一个方法中没有访问此 例如,你写:
callRef() {
this.ref.details.getDataFromComponent();
....
}
如果是这样的话,那么你在那里没有访问权限。你应该用这个绑定你的函数。
您可以使用箭头功能自动绑定:
注意:要使用箭头功能,您需要在网页包配置中使用babel loader
或者,您可以在调用该方法时进行绑定。
例如,您应该在jsx代码中调用callRef方法,如下所示:
< ... onClick={this.callRef.bind(this)} />
显示您在何处定义详细信息参考//do my stuff get state and connect以获取组件详细信息的数据。。。至少其中一些可能有用,这是我的解决方案,另外,我应该向具有绑定的构造函数添加一个方法
callRef() {
this.ref.details.getDataFromComponent();
....
}
callRef = () => {
this.ref.details.getDataFromComponent();
....
}
< ... onClick={this.callRef.bind(this)} />