我正在编写输入元素的扩展版本。这是它的简化版本:
var MyInput = React.createClass({
render: function () {
return (
<div>
<input type="text" onChange={this.changeHandler} {...this.props} />
</div>
);
},
changeHandler: function(event){
console.log('Trigger me first');
}
});
Run Code Online (Sandbox Code Playgroud)
我在这样的上下文中使用它:
<MyInput placeholder="Test" value={this.state.myValue} onChange={function(event){
console.log('Trigger me second');
}} />
Run Code Online (Sandbox Code Playgroud)
您可能会怀疑onChange,根据属性的顺序,其中一个会覆盖另一个。
考虑到这一点,在这种情况下,对于同一元素,您认为对同一事件的多个事件处理程序实现支持的最干净的方法是什么?
编辑
onChange并{...this.props}在组件中使用
changeHandler: function(event)
{
console.log('input_changeHandler change');
this.props.onChange(event);
}
Run Code Online (Sandbox Code Playgroud)
但是我担心它是否安全。