【问题标题】:Inheriting from a React class created using createClass从使用 createClass 创建的 React 类继承
【发布时间】:2016-05-25 14:14:19
【问题描述】:

我正在使用第 3 方库 (Formsy),我想修补它的 React 类,以便我可以覆盖它定义的函数之一 (validate)。

我原以为这很简单:

Formsy.Form.prototype.validate = function(component) {
   console.log('test');
}

但这不起作用。子表单组件仍然调用原始函数(由 Forms.Form 通过子上下文提供)

我该怎么做?

【问题讨论】:

    标签: javascript inheritance reactjs


    【解决方案1】:

    由于 Formly 是一个 mixin,因此它的属性被添加到“this”,你可以在由 React.CreateClass 创建的实例上覆盖该属性。但这不会自动适用于使用此 Mixin 的所有实例

    const MyInput = React.createClass({
      mixins: [Formsy.Mixin],
      changeValue(event) {
        this.setValue(event.currentTarget[this.props.type === 'checkbox' ? 'checked' : 'value']);
      },
      validate: function(){
         console.log('validating');
      },
    

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 1970-01-01
      • 2016-08-19
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2011-12-08
      • 2020-07-30
      • 2020-12-05
      相关资源
      最近更新 更多