代码之家  ›  专栏  ›  技术社区  ›  Stevan Tosic

在ReactJs组件中实现动态propTypes

  •  0
  • Stevan Tosic  · 技术社区  · 5 年前

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

    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 回复  |  直到 5 年前