【问题标题】:How to get the value from enum by a numeric key in React如何通过 React 中的数字键从枚举中获取值
【发布时间】:2019-05-15 10:58:07
【问题描述】:

我有一个const,就我而言,它的作用类似于enum。我需要已经在PropType call 上从中获取价值。

这是我的enum:

const appearances = {
    1: 'ready',
    2: 'stroke',
    3: 'flat'
};

以及我尝试获取value的方式:

Button.propTypes = {
  appearance: PropTypes.oneOf(Object.keys(appearances))
}

似乎oneOf() 只接受String 类型keys,但我从后端获得了一个数值。有没有办法做到这一点?

所以如果我给1 的key,我想收到ready 的value。

【问题讨论】:

  • 使用String like: String(2) => "2".
  • @MarkoSavic 很抱歉,我不太明白你的回答。
  • 试试String对象PropTypes.oneOf(String(Object.keys(appearances)))
  • @MarkoSavic 通过这样做并给出密钥1 我得到以下结果:1,但预期结果是ready
  • 用bracket notation代替oneOf怎么样? appearances[1] => ready ?

标签: javascript reactjs enums react-proptypes


【解决方案1】:

像括号符号一样使用它appearances[x]:

Button.propTypes = {
  appearance: appearances[PropTypes.oneOf(Object.keys(appearances))]
}

【讨论】:

  • 这样做我仍然得到1的值
  • 对不起,我稍微误解了你的问题。现在怎么样?它应该将括号符号的简单性与您的 PropType 和 Object.keys() 结合起来
猜你喜欢
  • 2022-01-20
  • 2022-08-03
  • 1970-01-01
  • 2018-01-04
  • 2010-12-05
  • 1970-01-01
  • 2014-06-27
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多