在ReactJs组件中实现动态propTypes

时间:2019-03-13 11:41:14

标签: arrays reactjs object react-proptypes

我有一个带有图标的对象,该图标可用于某些按钮。

const icons = {
  check: 'icon-CheckSmall',
  chat: 'icon-ChatMedium',
  investors: 'icon-InvestorsMedium',
  download: 'icon-DownloadMedium',
};

const Button = (props) => {
  const {
    buttonType,
    buttonText,
    onClick,
    disabled,
  } = props;

  return (
    <button
      style={ icons }
      type={ buttonType }
      onClick={ onClick }
      disabled={ disabled && 'disabled' }
    >
        { <FormattedMessage id={ buttonText } /> }
    </button>
  );
};

我想为具有键数组的组件创建道具类型

Button.propTypes = {
  icon: PropTypes.oneOf(Object.keys(icons)),
};

在这种情况下,Object.keys不起作用。

有没有人设法在组件中实现动态道具类型?

0 个答案:

没有答案