Javascript 如何通过React中的数字键从枚举中获取值
我有一个Javascript 如何通过React中的数字键从枚举中获取值,javascript,reactjs,enums,react-proptypes,Javascript,Reactjs,Enums,React Proptypes,我有一个const,在我的例子中,它的作用类似于enum。我需要在PropType调用中已经从中获取值 这是我的enum: const appearances = { 1: 'ready', 2: 'stroke', 3: 'flat' }; 以及我尝试获取值的方式: Button.propTypes = { appearance: PropTypes.oneOf(Object.keys(appearances)) } 似乎oneOf()只接受Stringtype
const
,在我的例子中,它的作用类似于enum
。我需要在PropType调用中已经从中获取值
这是我的enum
:
const appearances = {
1: 'ready',
2: 'stroke',
3: 'flat'
};
以及我尝试获取值的方式:
Button.propTypes = {
appearance: PropTypes.oneOf(Object.keys(appearances))
}
似乎oneOf()
只接受String
typekeys
,但我从后端获得了一个数值。有办法吗
因此,如果我给出1
的键
,我希望收到就绪的值
使用括号表示法外观[x]
:
Button.propTypes = {
appearance: appearances[PropTypes.oneOf(Object.keys(appearances))]
}
使用String
例如:String(2)=>“2”。@MarkoSavic对不起,我不太明白你的答案。尝试使用String
objectPropTypes.oneOf(String(object.keys(外观))
@MarkoSavic这样做并给出键1
我得到以下结果:1
,但预期的结果是就绪
如何使用括号符号
而不是一个<代码>外观[1]=>准备好了吗
?通过这样做,我仍然得到了1
的值。很抱歉,我稍微误解了你的问题。现在呢?它应该将括号表示法的简单性与PropType
和Object.keys()