2016-02-16 3 views
1

Можно ли устанавливать функции по умолчанию для функций? Код ниже не работает. Это не нравится «это». Я попробовал 1_ привязать defaultProps к 'this' или 2_ bind handleClose к 'this', не работает. Я использую класс ES6.Как установить defaultProps для функции?

SaveDialog.propTypes = { 
    note: React.PropTypes.string, 
    onCancel: React.PropTypes.func, 
    onSave: React.PropTypes.func, 
    onEditChange: React.PropTypes.func 
}; 

SaveDialog.defaultProps = { 
    note: '', 
    onCancel: {this.handleClose}, 
    onSave: {this.handleClose}, 
    onEditChange: {this.handleChange} 
}; 

ответ

3

Вы можете использовать метод getDefaultProps.

getDefaultProps() { 
    return { 
    note: '', 
    onCancel: this.handleClose.this(bind), 
    onSave: this.handleClose.this(bind), 
    onEditChange: this.handleChange.this(bind) 
    }; 
} 
0

Установите реквизиты по умолчанию для компонента и присоедините функцию к компоненту в конструкторе.

constructor() { 
 
    super(); 
 
    this.extFunction = extFunction.bind(this); 
 
}

+0

Не работает. Либо ошибка времени выполнения, как «неопределенный», либо компиляция синтаксиса ошибок. –

Смежные вопросы