arrays - 使用随机数组字符串键入对象键/属性 - TypeScript

标签 arrays typescript object generics dynamic

我要动态Array<string>然后产生动态 Objectkey/property从数组的值。 (用于 reactjs typescript 中的 Prop 用法)

这是一个示例代码:

interface Props {
  buttons: Array<string>;
  buttonProps?: { [key: string]: string }; //want key here to correspond with values of buttons
}

我猜你在这里使用泛型,但我不确定如何继续。

最佳答案

因为 key 是 string你必须添加一个泛型,否则任何字符串都是有效的,这意味着你可以在按钮和 buttonProps 中放置任何东西。

我希望我正确回答了这个问题。

interface Props<T extends keyof any = keyof any> {
  buttons: Array<T>;
  buttonProps?: { [key in T]: string };
};

const buttons: Props<'test1' | 'test2'> = {
  buttons: [
    'test1', 'test2',
  ],
  buttonProps: {
    test1: 'string1',
    test2: 'string2',
  },
};

关于arrays - 使用随机数组字符串键入对象键/属性 - TypeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61894473/

相关文章:

javascript - 如何获取数组 Node.js 中的最后一项?

javascript - VS 代码 - 无法隐藏从 typescript 文件生成的 javascript 文件

angular - 异步自定义验证导致控制台错误 : "Cannot read property ' required' of null at Object. eval [as updateDirectives]”

javascript - 如何结合 Lodash _.forEach() 和 _.groupBy

javascript如何将 "empty"插入数组?

arrays - 将数组中的标记添加到 Leaflet 中

Javascript:IE8 中变量对象属性问题的参数无效

javascript - socket.io - 通过发送更少的字符来优化流量

arrays - 如何将数组传递给匿名函数?

angular - 我需要取消订阅 Angular Observable 吗?