Javascript 使用ref?键入React组件?打字稿
所以我有一个参考:Javascript 使用ref?键入React组件?打字稿,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,所以我有一个参考: someComponent; 而someComponent基本上是一个React组件,看起来像: class SomeComponent<IProps> { getData = () => {}; render() { ...some stuff } } TypeScript不会呼喊getData不存在于上。someComponent 我试过: someComponent:React.reObject 但TypeScrip
someComponent;
而someComponent
基本上是一个React组件,看起来像:
class SomeComponent<IProps> {
getData = () => {};
render() {
...some stuff
}
}
TypeScript
不会呼喊getData
不存在于上。someComponent
我试过:
someComponent:React.reObject
但TypeScript仍然警告我
编辑:尝试使用createRef,但出现以下错误:
在父组件中声明引用时,需要指定组件的类型:
someComponent=React.createRef();
并将ref传递给渲染组件:
然后可以像这样调用getData:
if(this.someComponent.current!==null){
this.someComponent.current.getData()
}
为了在该组件之外使用getData,您需要将其作为PROP传递,您的ref在哪里?你是说ref作为react概念,还是作为reference的一般概念?我已经创建了一个代码沙盒:谢谢,但是它确实不允许我使用SomeComponent
作为类型。检查我的编辑。发生什么事了?奇怪,你能分享一个代码沙盒的复制吗?也许可以尝试createRef
,但在这种情况下不需要。好的,Anthony,问题是SomeComponent与redux连接,并且ref已禁用。然而,我决定断开该组件与存储的连接,它现在似乎工作正常。谢谢
this.someComponent.getData();