【问题标题】:Should wrappers component remind propTypes of wrapped components?包装器组件是否应该提醒包装组件的propTypes?
【发布时间】:2015-04-28 12:19:36
【问题描述】:

当您创建一个组件 A 通过添加一些逻辑来包装组件 B 时?您是否应该在 A 中提醒 B 所需的 propTypes ?

实际例子:

const HorizontalGauge = React.createClass({

  propTypes: {
    //Should I remind required propTypes of GenericHorizontalGauge ?
    showPercentage: PropTypes.bool,
  },

  _formatStackValuePercentage() {
    ...
  }

  render() {
    let { showPercentage, ...otherProps } = this.props;


    return (
      <GenericHorizontalGauge
        formatValue={showPercentage && this._formatValuePercentage}
        {...otherProps}
      />
   );
}

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    您是否问GenericHorizontalGauge 是否应该与HorizontalGauge 具有相同的propTypes,因为每个道具都从HorizontalGauge 传递到GenericHorizontalGauge

    在这种情况下,答案是肯定的,他们应该这样做。为避免重复,您可以在一个地方定义道具并重复使用它。像这样的:

    const HorizontalGauge = React.createClass({
      propTypes: GenericHorizontalGauge.propTypes,
      /* Other methods here */
    });
    

    【讨论】:

    • 是的,我就是这么想的,所以在这种情况下,Horizo​​ntalGauge propTypes 应该类似于propTypes: {...GenericHorizontalGauge.propTypes, showPercentage: PropTypes.bool}
    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 2019-07-28
    • 1970-01-01
    • 2020-03-19
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多