如果元素的属性类型是什么默认值?

IT技术 reactjs react-proptypes
2021-05-14 16:04:55

如果我尝试将 proptype 设置为PropTypes.element,而不是必需的,那么正确的默认值是什么?

static propTypes = {
    expandable: PropTypes.bool,
    popover: PropTypes.element,
  }

  static defaultProps = {
    expandable: false,
    popover: () => {},
  }

谢谢

3个回答

React 中正确的默认组件或不存在的组件是null. 你可以这样使用它render()

render() {
    return (
        <div>{this.props.popover ? this.props.popover : null}</div>
    );
}

或者简单地在 staticProps 中定义它:

static defaultProps = {
    expandable: false,
    popover: null,
}

默认值可能是:

React.createElement('div')

我认为undefined应该工作。

static defaultProps = {
  expandable: false,
  popover: undefined,
}