React Typescript元素类型

时间:2016-12-25 23:12:35

标签: javascript reactjs typescript

React中以下语句的类型是什么?

let element = <div>Blah blah</div>

我以为我可以使用element: HTMLElement但是当我这样做时,我会Property 'accessKey' is missing in type 'Element'

另一个导入组件怎么样?

import Row from './partials/Row';
let row = <Row cols={cols} />

1 个答案:

答案 0 :(得分:0)

div jsx元素的类型是HTMLFactory<HTMLDivElement>

您拥有的引用不是浏览器中的实际dom元素,而是代表可能尚未呈现的元素的react元素。

应通过道具访问html属性:

let element = <div>Blah blah</div>
console.log(element.props.accessKey);

如果您想获取dom元素,可以使用ref attribute

  

当ref元素用于HTML元素时,ref回调   接收底层DOM元素作为其参数

所以:

let divElement: HTMLDivElement;
let element = <div ref={ (el) => { divElement = el; console.log(el); } }>Blah blah</div>

对于导入的Row,您再次引用具有dom表示的react元素。
它具有哪些属性或方法取决于类本身。