当前位置: 首页 > 面试题库 >

返回在打字稿中反应16个数组元素

邹胜泫
2023-03-14
问题内容

我想使用新的react 16功能在我中返回数组元素,render但出现打字稿错误Property 'type' is missing in type 'Element[]'

const Elements: StatelessComponent<{}> = () => ([
  <div key="a"></div>,
  <div key="b"></div>
]);

我想念什么?使用 @ types / react 16.0.10打字稿2.5.3


问题答案:

我检查了最新的类型,但他们忘了在无状态组件界面中添加新的定义。我提出了这个问题,应该尽快解决。

从类组件返回数组是可行的,因此,如果您现在确实需要它,则可以将功能组件转换为类组件。

class Elements extends React.Component<{}> {

  render() {
    return [
       <div key="a"></div>,
       <div key="b"></div>
    ]

  }
}

或使用模块扩充来临时扩展React类型。只需将以下代码放在您的.ts文件之一中,打字稿将自动检测定义中的更改。

declare module "react" {
  interface StatelessComponent<P = {}> {
    (props: P & { children?: ReactNode }, context?: any): ReactElement<any>[] | ReactElement<any> | null;
    propTypes?: ValidationMap<P>;
    contextTypes?: ValidationMap<any>;
    defaultProps?: Partial<P>;
    displayName?: string;
  }
}


 类似资料:
  • 问题内容: 我希望能够实例化一个Typescript类,在运行时可以获取该类和构造函数的详细信息。我想编写的函数将包含类名和构造函数参数。 问题答案: 您可以尝试: 编辑 此版本可在TypeScript操场上使用,例如:

  • 问题内容: 我不明白为什么找不到它。 导入组件文件。 是什么赋予了? 问题答案: 如果您不使用打字稿2.1,则应升级到它。似乎您使用的是@types中的2.x版本。 这是我现在正在使用的工作文件: 自从我解决了您遇到的同样问题以来已经过了几天,但我认为这里的关键是and 。

  • 我的代码: 错误消息来自TypeScript(3.0)编译器: TS2322:类型“string[]”不可分配给类型“[string, string, string, string, string, string, string]”。“string[]”类型中缺少属性“0”。 如果我将字符串[]更改为只读数组 TS2322:“ReadonlyArray”类型不能分配给类型“[string,stri

  • 我想我本质上仍然是一名C程序员。我刚刚启动了一个非常简单的助手类来清理一些调试UI: ...我在想,我真的不想要任何价值。实际上这并不重要,这是一个一次性的辅助函数。但多年来,在开发过程中,我多次意外地尝试渲染复杂的东西。我对Typescript还只是有一定的经验,所以我不太知道它的正确术语,但我想知道的是,我如何断言编译时类型的值是可渲染的?我把它称为C语言中的类型特征。typescript中的

  • 我正在使用React路由器v4中的路由组件的渲染道具来实现具有Typecript和React的认证路由。 路线: 私人路线: 问题是我想调用道具上的组件集,但是,每次我尝试此操作时,Typescript都会抛出以下错误。 错误的图像 原因似乎是路由的组件类型不是这里所解释的TypeScript期望的组件类型:https://github.com/microsoft/TypeScript/issue

  • 有一种方法可以将useState与接口类型一起使用吗? 这就是我想做的: 但是在类型上有错误。 我的界面: 根据这篇文章:用TypeScript在useState React Hook上设置类型。 我可以尝试这样做: 但它看起来不干净,我不认为这是将随机值置于第一状态的好方法。