我在一个类中有一个方法:
class Foo {
getElement : JSX.element () {
return <Component ref={React.createRef()} />
}
}
就像普通的React.js代码(没有打字稿)一样,我希望能够获得组件本身,就像这样:
const foo = new Foo();
const component = foo.getElement().ref.current;
但是,JSX.Element
类仅具有属性key
,props
和type
。
如何在打字稿中获取组件?
我已经为此停留了一段时间,因为:
ref
。答案 0 :(得分:0)
这似乎可能是Reacts类型定义中的issue。
一种解决方案是使用ref匿名停止 ,并将其与Element分组,即:
type RefElement = { ref: RefObject<Component>, element: JSX.Element };
class Foo {
getRefElement: RefElement () {
const ref = createRef<Component>();
return {
ref: ref,
element: <Component ref={ref} />
}
}
}
...
const foo = new Foo();
...
const component = foo.getRefElement().ref.current;