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

Arrays 使用随机数组字符串键入对象键/属性-TypeScript,arrays,typescript,object,generics,dynamic,Arrays,Typescript,Object,Generics,Dynamic,我希望有一个动态数组,然后使用键/属性从数组的值生成一个动态对象。(用于在reactjs typescript中使用道具) 下面是一个示例代码: interface Props { buttons: Array<string>; buttonProps?: { [key: string]: string }; //want key here to correspond with values of buttons } 界面道具{ 按钮:数组; 按钮操作?:{[key:str

我希望有一个动态
数组
,然后使用
/
属性
从数组的值生成一个动态
对象
。(用于在reactjs typescript中使用道具)

下面是一个示例代码:

interface Props {
  buttons: Array<string>;
  buttonProps?: { [key: string]: string }; //want key here to correspond with values of buttons
}
界面道具{
按钮:数组;
按钮操作?:{[key:string]:string};//希望此处的键与按钮的值对应
}

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

因为键是
string
您必须添加泛型,否则任何字符串都将有效,这意味着您可以在按钮和按钮操作中放置任何内容

我希望我答对了问题

界面道具{
按钮:数组;
按钮操作?:{[输入T]:字符串};
};
常量按钮:道具={
按钮:[
“test1”、“test2”,
],
按钮按钮:{
test1:'string1',
test2:'string2',
},
};

接下来,如果它是一个无状态的react组件,并且我想在其他地方定义按钮,我该如何处理?您需要一个定义所有按钮的类型,比如
type allButtons='test1'|'test2'
,然后你可以在你定义按钮的任何地方使用这种类型,你也可以将它传递给
道具!快乐编码!