类型错误:类扩展值#<Object> 不是构造函数或反应 js 中的 null

问题描述

我正在尝试覆盖主要反应按钮组件的某些功能,但在扩展主要反应按钮组件类时出现此错误。 这是我的代码

import { Button } from "primereact/button";
class BtnBox extends Button {
  constructor(props) {
    super(props);
    this.renderLabel = this.renderLabel.bind(this);
  }

  renderLabel() {
      return <span>icon</span>;
  }
}
class IconButton extends React.Component {
  render() {
    return (
      <div className="icon-button">
        <BtnBox {...this.props} />
      </div>
    );
  }
}

export default IconButton;

解决方法

你能试试这个表格吗?

import { Button } from "primereact/button";
     class BtnBox extends Button {
         constructor(props) {
             super(props);
          }
            
         render = () => <span>{this.props.name}</span>;
      }
    
   class IconButton extends React.Component {
      render() {
        return (
          <div className="icon-button">
            <BtnBox name='add item' />
          </div>
        );
      }
    }
    
 export default IconButton;

如果不适合你,你能分享更多细节吗?