【问题标题】:Pass an Array of known shape but unknown size to component? [duplicate]将已知形状但大小未知的数组传递给组件? [复制]
【发布时间】:2020-04-11 23:06:36
【问题描述】:

我是 Typescript 的新手。目前,我正在尝试将名为 items 的道具传递给 React 组件。

items 长度未知但形状已知:

items = [
    [string, (unknown) => unknown],
    [string, (unknown) => unknown],
    [string, (unknown) => unknown],
    ...
]

该组件是一个简单的手风琴组件,应该可以重用。每个数组中的第一个元素描述应呈现的标题,函数描述应在单击时触发的动作。由于这是一个可重用的组件,该组件应该接受任何带有任意参数和返回值的操作。

这在 JS 中非常简单,但我不知道如何在 TS 中指定类型?有人可以帮助或指出我正确的方向吗?

更新以供将来参考:
此解决方案可以完成工作。
-1 : 将项目定义为 touples 数组。
-2:将内部数组定义为一个 touple(具有固定数量元素的数组。
-3 :将函数定义为包含任意数量的参数并返回<any> 值。

interface Props {
    title: string,
    items: Array<[string, (...args: any) => any]>,
}

【问题讨论】:

    标签: reactjs typescript


    【解决方案1】:

    将你的形状定义为一个类型:

    type Type = [string, (arg0: any) => any];
    let items: Array<Type> = [];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-22
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多