我正在学习打字稿。 在写一些代码时,我意识到我不理解下面的代码。
const MainTable: React.SFC<IProps> = (props) => {
const logKey = Object.keys(props.log[0]);
const tableCells = (): JSX.Element[] => {
return props.log.map((field, index) => {
const element: JSX.Element[] = [];
// here I will use map to push JSX element to element,
// and return to parent map
})
}
}
Component MainTable
是React无状态功能组件,因此我在变量名之后编写了类型。但是,对于MainTable组件内部的tableCells
,该函数返回一个带有JSX.Elements的数组,并且返回类型在()
之后进行描述。我试图用变量名来描述类型,例如const tableCells: JSX.Element[] = () => ...
,但皮棉对此有所抱怨。
所以我想知道它们之间的区别。
答案 0 :(得分:0)
const tableCells: JSX.Element[] = () =>
...但是皮棉对此有所抱怨。
因为JSX.Element[]
不是正确的类型。正确的类型为() => JSX.Element[]
,即a function that returns an array of jsx.elements
。
使用中:
const tableCells: () => JSX.Element[] = () =>