如何在React中重写父类方法?

唐·拉米

我正在扩展基类并覆盖基类中的方法。但是当我调用它时,它称为超类版本。如何覆盖该方法?

    var Hello = React.createClass( {

        getName: function() { return "super" },

        render: function() {

            return <div>This is: {this.getName()}</div>;
        }
    });

    class HelloChild extends Hello {
        constructor(props) {
          super(props);

          console.log( this.getName());
        }
        getName()
        {
          return "Child";
        }
    };

我希望它打印“这是:孩子”,但它打印“这是:超级”

唐·拉米

我找到了答案(从这里改编:https : //gist.github.com/Zodiase/af44115098b20d69c531)-基类也需要以ES6方式定义:

class Hello extends React.Component {

        //abstract getName()
        getName()
        {
            if (new.target === Hello) {
                throw new TypeError("method not implemented");
            }
        }

        render() {

            return <div>This is: {this.getName()}</div>;
        }
    };

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在子原型中重写父原型函数?

Java如何在抽象类中可选重写方法?

如何在Python的子类中调用父类的方法?

如何从子类中调用重写的父类方法?

如何在类中重写toString方法

如何在React的子类组件中调用父方法

如何在Mootools扩展类中调用任意父方法

如何在派生类中重写模板类的静态方法

如何重写类方法

React类方法重写

PHP重写父类特征的特征方法

如何在Swift类中重写Objective-C类的抽象类级别方法?

Javascript类:如何在父类代码中访问重写的父类函数

在ES6中,如何在超类中重写私有方法?

使用父类方法重写的多重继承

如何在python中调用父类方法?

如何重写子类中的方法并调用父类方法而不丢失数据

如何在接口的重写方法中访问当前类变量,该方法是使用当前类中的设置器设置的

用python中的父类方法重写__init__

在父类和子类的构造函数中调用重写的方法

如何从两个父类中调用“重写”方法?

如何在Castle.Core中实现IProxyGenerationHook的类中实现Equals和GetHashCode的重写方法?

父类中的方法签名不必重写吗?

如何在C#中重写基类的方法的某些部分

如何在Swift中重写ShinobiChart类

如何在同名的子类方法中调用父类方法?

如何在C++中调用父类的重写函数?

OOP - 如何在父类中调用子方法

如何在Python中访问父类变量并使用子对象调用父方法